Waste/Waste.OpenApi.Host/Startup.cs

85 lines
2.2 KiB
C#
Raw Permalink Normal View History

2025-03-27 13:34:16 +08:00
using Furion;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Mvc;
using Nirvana.Common;
using Serilog;
using System.Text;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Furion.DependencyInjection;
using System;
using Waste.Domain;
namespace Waste.OpenApi.Host
{
public class Startup// : AppStartup
{
public void ConfigureServices(IServiceCollection services)
{
var configuration = App.Configuration;
services.AddControllers(options =>
{
options.EnableEndpointRouting = true;
}).AddInject();
#region IP
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
MyHttpContext.serviceCollection = services;
#endregion
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//启用 GB2312按需
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
// 或者更多配置
// app.UseUnifyResultStatusCodes(options => { options.Return200StatusCodes = new [] { 401, 403 }; });
//允许body重用
app.Use(next => context =>
{
context.Request.EnableBuffering();
return next(context);
});
app.UseStaticFiles();
// 必须在 UseStaticFiles 和 UseRouting 之间,记录请求日志
app.UseRouting();
// app.UseAuthentication();
app.UseAuthorization();
app.UseInject();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
public class CurrentUser : ICurrentUser, ITransient
{
public Guid? Id => null;
}
}