From 7ff298c6834275b63b612af49651673689a39660 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期三, 27 十一月 2024 11:33:18 +0800
Subject: [PATCH] 更新

---
 WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs |   51 ++++++++++++++++++++++++---------------------------
 1 files changed, 24 insertions(+), 27 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
index 36684ae..30d606b 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
@@ -20,6 +20,8 @@
 using WIDESEAWCS_QuartzJob.Seed;
 using Autofac.Core;
 using WIDESEAWCS_QuartzJob.QuartzExtensions;
+using Microsoft.AspNetCore.Builder;
+using WIDESEAWCS_Server.Filter;
 
 var builder = WebApplication.CreateBuilder(args);
 
@@ -33,43 +35,40 @@
     hostingContext.Configuration.ConfigureApplication();
     config.Sources.Clear();
     config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false);
-}); ;
+});
 builder.ConfigureApplication();
-
 
 // 2、配置服务
 builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注册
 builder.Services.AddAllOptionRegister();//读取配置文件
 builder.Services.AddMemoryCacheSetup();//缓存
 builder.Services.AddSqlsugarSetup();//SqlSugar 启动服务
-builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
+//builder.Services.AddHostedService<SeedDataHostedService>();//初始化数据库
+
 builder.Services.AddDbSetup();//Db 启动服务
 
-builder.Services.AddScoped<QuartzJobCreateDataTabel>();
-builder.Services.AddHostedService<QuartzJobDataTableHostedService>();
-
-//todo 初始化模型验证配置
-//builder.Services.UseMethodsModelParameters().UseMethodsGeneralParameters();
-//builder.Services.AddSingleton<IObjectModelValidator>(new NullObjectModelValidator());
+//builder.Services.AddScoped<QuartzJobCreateDataTabel>();//任务调度 注入创建QuartzJob数据库表类
+//builder.Services.AddHostedService<QuartzJobDataTableHostedService>();//任务调度 映射QuartzJob数据库表
 
 builder.Services.AddAutoMapperSetup();
 
 builder.Services.AddCorsSetup();
+
 builder.Services.AddMiniProfilerSetup();
 
 builder.Services.AddSwaggerSetup();
 
-builder.Services.AddJobSetup();//任务调度 启动服务
+builder.Services.AddJobSetup();//任务调度 注入反射获取依赖对象
 
 builder.Services.AddHttpContextSetup();
 
-builder.Services.AddHostedService<QuartzJobHostedService>();
+builder.Services.AddHostedService<QuartzJobHostedService>();//任务调度 启动服务
 
-//todo
 builder.Services.AddMvc(options =>
 {
     options.Filters.Add(typeof(ApiAuthorizeFilter));
-    //options.Filters.Add(typeof(ActionExecuteFilter));
+    options.Filters.Add(typeof(ActionExecuteFilter));
+    options.Filters.Add(typeof(CustomAuthorizeFilter));
 });
 
 builder.Services.AddAuthorizationSetup();
@@ -78,7 +77,6 @@
 
 builder.Services.AddScoped<UseServiceDIAttribute>();
 
-//builder.Services.AddDistributedMemoryCache();
 builder.Services.AddSession();
 
 builder.Services.AddHttpClient();
@@ -86,8 +84,6 @@
 builder.Services.AddControllers(o =>
 {
     o.Filters.Add(typeof(GlobalExceptionsFilter));//全局异常
-    //todo
-    //o.Conventions.Insert(0, new GlobalRoutePrefixFilter(new RouteAttribute(RoutePrefix.Name)));//路由
 })
 .AddNewtonsoftJson(options =>
 {
@@ -112,25 +108,26 @@
 app.UseMiniProfiler();//性能分析器
 app.ConfigureApplication();//配置文件
 app.UseApplicationSetup();//启动配置
+
+app.UseAllServicesMiddle(builder.Services);
+
 app.UseSession();
-if (app.Environment.IsDevelopment())
+//if (app.Environment.IsDevelopment())
 {
-    //todo
-    //app.UseSwaggerAuthorized();
-    app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEAWCS_Server.index.html"));
+    app.UseSwaggerAuthorized();
+    app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEAWCS_Server.index.html") ?? throw new Exception("未找到WIDESEAWCS_Server.index.html文件"));
 }//判断是否需要打开swagger
 
 app.UseIpLimitMiddle();
 app.UseApiLogMiddleware();
-//todo
-//app.UseRecordAccessLogsMiddle();
 
-app.UseCors(AppSettings.app(new string[] { "Cors", "PolicyName" }));
+app.UseCors(AppSettings.Get(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();

--
Gitblit v1.9.3