dengjunjie
2025-05-20 be484c84a25d1f6c769e7b5e958048d745942e55
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs
@@ -17,6 +17,8 @@
using WIDESEA_WMSServer.Filter;
using WIDESEA_Core.Authorization;
using WIDESEA_Core.Core;
using Autofac.Core;
using Microsoft.AspNetCore.Builder;
var builder = WebApplication.CreateBuilder(args);
@@ -32,35 +34,30 @@
}); ;
builder.ConfigureApplication();
App.ExpDateTime = DateTime.Parse("2025-06-30 00:00:00");
// 2、配置服务
builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注册
builder.Services.AddAllOptionRegister();//读取配置文件
builder.Services.AddMemoryCacheSetup();//缓存
builder.Services.AddSqlsugarSetup();//SqlSugar å¯åŠ¨æœåŠ¡
builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
//builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
builder.Services.AddDbSetup();//Db å¯åŠ¨æœåŠ¡
//todo åˆå§‹åŒ–模型验证配置
//builder.Services.UseMethodsModelParameters().UseMethodsGeneralParameters();
//builder.Services.AddSingleton<IObjectModelValidator>(new NullObjectModelValidator());
builder.Services.AddAutoMapperSetup();
builder.Services.AddCorsSetup();
builder.Services.AddMiniProfilerSetup();
builder.Services.AddSwaggerSetup();
builder.Services.AddJobSetup();//任务调度 å¯åŠ¨æœåŠ¡
builder.Services.AddHttpContextSetup();
//todo
builder.Services.AddMvc(options =>
{
    options.Filters.Add(typeof(ApiAuthorizeFilter));
    //options.Filters.Add(typeof(ActionExecuteFilter));
    //  options.SuppressAsyncSuffixInActionNames = false;
});
builder.Services.AddAuthorizationSetup();
@@ -69,7 +66,6 @@
builder.Services.AddScoped<UseServiceDIAttribute>();
//builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession();
builder.Services.AddHttpClient();
@@ -77,8 +73,6 @@
builder.Services.AddControllers(o =>
{
    o.Filters.Add(typeof(GlobalExceptionsFilter));//全局异常
    //todo
    //o.Conventions.Insert(0, new GlobalRoutePrefixFilter(new RouteAttribute(RoutePrefix.Name)));//路由
})
.AddNewtonsoftJson(options =>
{
@@ -103,14 +97,16 @@
app.UseMiniProfiler();//性能分析器
app.ConfigureApplication();//配置文件
app.UseApplicationSetup();//启动配置
app.UseAllServicesMiddle(builder.Services);
app.UseSession();
if (app.Environment.IsDevelopment())
if (app.Environment.IsProduction())
{
    //todo
    //app.UseSwaggerAuthorized();
    app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEA_WMSServer.index.html"));
    app.UseSwaggerAuthorized();
}//判断是否需要打开swagger
app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEA_WMSServer.index.html") ?? throw new Exception("WIDESEA_WMSServer.index.html文件"));
app.UseIpLimitMiddle();
app.UseApiLogMiddleware();
//todo
@@ -118,23 +114,20 @@
app.UseCors(AppSettings.app(new string[] { "Cors", "PolicyName" }));
//DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
//defaultFilesOptions.DefaultFileNames.Clear();
//defaultFilesOptions.DefaultFileNames.Add("index.html");
//app.UseDefaultFiles(defaultFilesOptions);
DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("index.html");
app.UseDefaultFiles(defaultFilesOptions);
app.UseMiddleware<HttpRequestMiddleware>();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseStatusCodePages();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.Run();