Beispiel #1
0
        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;
        }
Beispiel #2
0
        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
        }