From 17e4c7e3e7b3ef60d9da6de3b2a39a14a53c38a0 Mon Sep 17 00:00:00 2001 From: z8018 <1282578289@qq.com> Date: 星期三, 12 三月 2025 14:11:33 +0800 Subject: [PATCH] 1 --- WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs | 61 +++++++++++++++--------------- 1 files changed, 30 insertions(+), 31 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs index 99726d0..3365fde 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs @@ -20,8 +20,13 @@ using WIDESEAWCS_QuartzJob.Seed; using Autofac.Core; using WIDESEAWCS_QuartzJob.QuartzExtensions; +using Microsoft.AspNetCore.Builder; +using WIDESEAWCS_Server.Filter; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_Server.HostedService; var builder = WebApplication.CreateBuilder(args); + builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(builder => { @@ -33,44 +38,42 @@ 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>(); +//builder.Services.AddScoped<QuartzJobCreateDataTabel>();//任务调度 注入创建QuartzJob数据库表类 +//builder.Services.AddHostedService<QuartzJobDataTableHostedService>();//任务调度 映射QuartzJob数据库表 -//todo 初始化模型验证配置 -//builder.Services.UseMethodsModelParameters().UseMethodsGeneralParameters(); -//builder.Services.AddSingleton<IObjectModelValidator>(new NullObjectModelValidator()); +builder.Services.AddWebSocketSetup(); 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.SuppressAsyncSuffixInActionNames = false; + options.Filters.Add(typeof(ActionExecuteFilter)); + options.Filters.Add(typeof(CustomAuthorizeFilter)); }); builder.Services.AddAuthorizationSetup(); @@ -79,7 +82,6 @@ builder.Services.AddScoped<UseServiceDIAttribute>(); -//builder.Services.AddDistributedMemoryCache(); builder.Services.AddSession(); builder.Services.AddHttpClient(); @@ -87,8 +89,6 @@ builder.Services.AddControllers(o => { o.Filters.Add(typeof(GlobalExceptionsFilter));//全局异常 - //todo - //o.Conventions.Insert(0, new GlobalRoutePrefixFilter(new RouteAttribute(RoutePrefix.Name)));//路由 }) .AddNewtonsoftJson(options => { @@ -113,36 +113,35 @@ 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("WIDESEAWCS_Server.index.html")); -}//判断是否需要打开swagger + app.UseSwaggerAuthorized(); +} + +app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEAWCS_Server.index.html") ?? throw new Exception("未找到WIDESEAWCS_Server.index.html文件")); 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(); app.UseRouting(); - app.UseAuthentication(); app.UseAuthorization(); - - app.MapControllers(); -- Gitblit v1.9.3