public Startup(IWebHostEnvironment env) { var configuration = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) //optional: true配置文件不存在时抛异常 ReloadOnChange= true 热更新 //.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true) .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true }) .Build(); AdmBootsApp.SetConfiguration(configuration); _env = env; }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IApiVersionDescriptionProvider provider) { AdmBootsApp.SetServiceProvider(app.ApplicationServices); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); Console.WriteLine("任务调度:" + (AdmBootsApp.Configuration["Startup:Scheduler"].ObjToBool() ? "启动" : "关闭")); Console.WriteLine("实时通讯:" + (AdmBootsApp.Configuration["Startup:SignalR"].ObjToBool() ? "启用" : "关闭")); Console.WriteLine("健康检查:" + (AdmBootsApp.Configuration["Startup:HealthChecks"].ObjToBool() ? "启用" : "关闭")); } //↓↓↓↓注意以下中间件顺序↓↓↓↓ app.UseStaticFiles(); app.UseRouting(); //认证 app.UseAuthentication(); //授权 app.UseAuthorization(); //跨域 app.UseCors("CorsPolicy"); //开启任务调度 if (AdmBootsApp.Configuration["Startup:Scheduler"].ObjToBool()) { app.ApplicationServices.GetService <ISchedulerCenter>().Start(); } app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.UseHealthChecks(); endpoints.MapHub <ChatHub>("/api/chatHub"); }); #region Swagger app.UseSwagger(); app.UseSwaggerUI(c => { foreach (var description in provider.ApiVersionDescriptions) { c.SwaggerEndpoint( $"/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant()); } c.IndexStream = () => Assembly.GetExecutingAssembly() .GetManifestResourceStream("AdmBoots.Api.wwwroot.swagger.index.html"); c.RoutePrefix = "";//设置为空,launchSettings.json把launchUrl去掉,localhost:8082 代替 localhost:8002/swagger }); #endregion Swagger }