| | |
| | | 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 => |
| | | { |
| | |
| | | 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.Filters.Add(typeof(ActionExecuteFilter)); |
| | | options.Filters.Add(typeof(CustomAuthorizeFilter)); |
| | | }); |
| | | |
| | | builder.Services.AddAuthorizationSetup(); |
| | |
| | | |
| | | builder.Services.AddScoped<UseServiceDIAttribute>(); |
| | | |
| | | //builder.Services.AddDistributedMemoryCache(); |
| | | builder.Services.AddSession(); |
| | | |
| | | builder.Services.AddHttpClient(); |
| | |
| | | builder.Services.AddControllers(o => |
| | | { |
| | | o.Filters.Add(typeof(GlobalExceptionsFilter));//全局异常 |
| | | //todo |
| | | //o.Conventions.Insert(0, new GlobalRoutePrefixFilter(new RouteAttribute(RoutePrefix.Name)));//路由 |
| | | }) |
| | | .AddNewtonsoftJson(options => |
| | | { |
| | |
| | | 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(); |