// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); loggerFactory.AddLog4Net(); app.UseSession(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Login}/{action=Index}/{id?}"); }); }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { loggerFactory.AddLog4Net("log4net.config", true); // global cors policy app.UseCors(x => x .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader()); app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "SampleDemo API V1"); }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } loggerFactory.AddLog4Net(); //Cors app.UseCors(builder => { builder.AllowAnyHeader(); builder.AllowAnyMethod(); builder.AllowAnyOrigin(); // For anyone access. //corsBuilder.WithOrigins("http://localhost:56573"); // for a specific url. }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { loggerFactory.AddLog4Net(); if (env.IsDevelopment()) { app.UseBrowserLink(); app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } var swaggerOptions = new Options.SwaggerOptions(); Configuration.GetSection(nameof(SwaggerOptions)).Bind(swaggerOptions); app.UseSwagger(option => { option.RouteTemplate = swaggerOptions.JsonRoute; }); app.UseSwaggerUI(option => option.SwaggerEndpoint(swaggerOptions.UIEndpoint, swaggerOptions.Description)); app.UseStaticFiles(); app.UseAuthentication(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime, IServiceProvider serviceProvider) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } loggerFactory.AddLog4Net(); // auth app.UseAuthentication(); // app.RegisterWithConsul(lifetime, serviceProvider); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); #region register this service //ConsulService consulService = new ConsulService() //{ // IP = Configuration["Consul:IP"], // Port = Convert.ToInt32(Configuration["Consul:Port"]) //}; //HealthService healthService = new HealthService() //{ // IP = Configuration["Service:IP"], // Port = Convert.ToInt32(Configuration["Service:Port"]), // Name = Configuration["Service:Name"], //}; //app.RegisterConsul(lifetime, healthService, consulService); #endregion }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { loggerFactory.AddLog4Net(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, NorthwindContext context, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { loggerFactory.AddLog4Net(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseDefaultFiles(); app.UseStaticFiles(); app.UseMvc(config => { config.MapRoute( name: "Default", template: "{controller}/{action}/{id?}", defaults: new { controller = "Home", action = "Index" } ); }); DbInitializer.Initialize(context); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { loggerFactory.AddLog4Net(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseCors(builder => builder .WithOrigins("https://localhost:4200") .AllowCredentials() .AllowAnyHeader() .AllowAnyMethod()); } app.UseExceptionHandler( builder => { builder.Run( async context => { context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; context.Response.Headers.Add("Access-Control-Allow-Origin", "*"); var error = context.Features.Get <IExceptionHandlerFeature>(); if (error != null) { context.Response.AddApplicationError(error.Error.Message); await context.Response.WriteAsync(error.Error.Message).ConfigureAwait(false); } }); }); app.UseAuthentication(); app.UseDefaultFiles(); app.UseMvc(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); loggerFactory.AddLog4Net(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Login}/{action=Login}/{id?}"); }); }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) { //Initializes ABP framework. app.UseAbp(options => { options.UseAbpRequestLocalization = false; //used below: UseAbpRequestLocalization }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseStatusCodePagesWithRedirects("~/Error?statusCode={0}"); app.UseExceptionHandler("/Error"); } loggerFactory.AddLog4Net(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(DefaultCorsPolicyName); //Enable CORS! app.UseAuthentication(); app.UseJwtTokenMiddleware(); if (bool.Parse(_appConfiguration["IdentityServer:IsEnabled"])) { app.UseJwtTokenMiddleware("IdentityBearer"); app.UseIdentityServer(); } app.UseAuthorization(); using (var scope = app.ApplicationServices.CreateScope()) { if (scope.ServiceProvider.GetService <DatabaseCheckHelper>().Exist(_appConfiguration["ConnectionStrings:Default"])) { app.UseAbpRequestLocalization(); } } if (WebConsts.HangfireDashboardEnabled) { //Hangfire dashboard &server(Enable to use Hangfire instead of default job manager) app.UseHangfireDashboard(WebConsts.HangfireDashboardEndPoint, new DashboardOptions { Authorization = new[] { new AbpHangfireAuthorizationFilter(AppPermissions.Pages_Administration_HangfireDashboard) } }); app.UseHangfireServer(); } if (bool.Parse(_appConfiguration["Payment:Stripe:IsActive"])) { StripeConfiguration.ApiKey = _appConfiguration["Payment:Stripe:SecretKey"]; } if (WebConsts.GraphQL.Enabled) { app.UseGraphQL <MainSchema>(); if (WebConsts.GraphQL.PlaygroundEnabled) { app.UseGraphQLPlayground( new GraphQLPlaygroundOptions()); //to explorer API navigate https://*DOMAIN*/ui/playground } } app.UseEndpoints(endpoints => { endpoints.MapHub <AbpCommonHub>("/signalr"); endpoints.MapHub <ChatHub>("/signalr-chat"); endpoints.MapControllerRoute("defaultWithArea", "{area}/{controller=Home}/{action=Index}/{id?}"); endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); if (bool.Parse(_appConfiguration["HealthChecks:HealthChecksEnabled"])) { endpoints.MapHealthChecks("/healthz", new HealthCheckOptions() { Predicate = _ => true, ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse }); } }); if (bool.Parse(_appConfiguration["HealthChecks:HealthChecksEnabled"])) { if (bool.Parse(_appConfiguration["HealthChecks:HealthChecksUI:HealthChecksUIEnabled"])) { app.UseHealthChecksUI(); } } if (WebConsts.SwaggerUiEnabled) { // Enable middleware to serve generated Swagger as a JSON endpoint app.UseSwagger(); // Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.) app.UseSwaggerUI(options => { options.SwaggerEndpoint(_appConfiguration["App:SwaggerEndPoint"], "Portal API V1"); options.IndexStream = () => Assembly.GetExecutingAssembly() .GetManifestResourceStream("Afonsoft.Portal.Web.wwwroot.swagger.ui.index.html"); options.InjectBaseUrl(_appConfiguration["App:ServerRootAddress"]); }); //URL: /swagger } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory logger) { #region //异常中间件 //if (env.IsDevelopment()) //{ // ////自定义设置错误信息 // //DeveloperExceptionPageOptions developerExceptionPageOptions = new DeveloperExceptionPageOptions(); // //developerExceptionPageOptions.SourceCodeLineCount = 1;//错误信息只显示1行 // //app.UseDeveloperExceptionPage(developerExceptionPageOptions); // app.UseDeveloperExceptionPage(); //} //DefaultFilesOptions defaultFiles = new DefaultFilesOptions(); //defaultFiles.DefaultFileNames.Clear(); //defaultFiles.DefaultFileNames.Add("err.html"); //FileServerOptions fileServerOptions = new FileServerOptions(); //fileServerOptions.DefaultFilesOptions.DefaultFileNames.Clear(); //fileServerOptions.DefaultFilesOptions.DefaultFileNames.Add("err.html"); ////UseFileServer结合了UseStaticFiles ,UseDefaultFiles , usedirectorybrowser 中间件 不推荐使用UseFileServer 容易暴露根目录等信息 //app.UseFileServer(fileServerOptions); ////添加默认文件中间件 必须注册再app.UseStaticFiles();之前 //app.UseDefaultFiles(defaultFiles); ////UseDefaultFiles 中默认支持的页面 index.html index.htm 默认 default.html default.htm ////添加静态文件中间件 //app.UseStaticFiles(); //添加中间件 //app.Use(async (context, next) => { // //logger.LogInformation(""); // await next(); //}); #endregion //自定义环境抛出异常 if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else if (env.IsStaging() || env.IsProduction() || env.IsEnvironment("UAT")) { app.UseExceptionHandler("/err"); } logger.AddLog4Net(); logger.CreateLogger <Program>().LogWarning("123123"); //添加静态文件中间件 app.UseStaticFiles(); //MVC带路由等基本配置 app.UseMvcWithDefaultRoute(); //MVC //app.UseMvc(); app.Run(async(context) => { //throw new Exception("请求发生错误"); await context.Response.WriteAsync("Host :" + env.EnvironmentName); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) { //app.Run(context => //{ // return context.Response.WriteAsync("This is hello word"); //}); #region Use中间件 //终结时 //app.Run(context => //{ // return context.Response.WriteAsync("This is hello word"); //}); //app.Use(next => //{ // Console.WriteLine("Middleware 1 "); // return new RequestDelegate( // async context => // { // //await context.Response.WriteAsync("This is Hello World 1 start"); // context.Response.OnStarting(state => // { // var httpContext = (HttpContext)state; // httpContext.Response.Headers.Add("middleware", "12345"); // return Task.CompletedTask; // }, context); // await context.Response.WriteAsync("This IS Hello word 1 start<br/>"); // await next.Invoke(context); // await context.Response.WriteAsync("This is hello word 1 end<br/>"); // } // ); //}); //app.Use(next => //{ // Console.WriteLine("Middleware 2 "); // return new RequestDelegate( // async context => // { // await context.Response.WriteAsync("This IS Hello word 2 start<br/>"); // await next.Invoke(context); // await context.Response.WriteAsync("This is hello word 2 end<br/>"); // } // ); //}); //app.Use(next => //{ // Console.WriteLine("Middleware 3 "); // return new RequestDelegate( // async context => // { // await context.Response.WriteAsync("This IS Hello word 3 start"); // // await next.Invoke(context); // await context.Response.WriteAsync("This is hello word 3 end"); // } // ); //}); //app.Use(async (context, next) =>//没有调用 next() 那就是终结点 跟Run一样 //{ // await context.Response.WriteAsync("Hello World Use3 Again Again <br/>"); // //await next(); //}); //UseWhen可以对HttpContext检测后,增加处理环节;原来的流程还是正常执行的 //app.UseWhen(context => //{ // return context.Request.Query.ContainsKey("Name"); //}, //appBuilder => //{ // appBuilder.Use(async (context, next) => // { // await context.Response.WriteAsync("Hello World Use3 Again Again Again <br/>"); // //await next(); // }); //}); #endregion #region 自定义中间件 middleware ////根据条件指定中间件 指向终结点,没有Next //app.Map("/Test", MapTest); //app.Map("/Eleven", a => a.Run(async context => //{ // await context.Response.WriteAsync($"This is Advanced Eleven Site"); //})); //app.MapWhen(context => //{ // return context.Request.Query.ContainsKey("Name"); // //拒绝非chorme浏览器的请求 // //多语言 // //把ajax统一处理 //}, MapTest); //以上均为Use的封装,其实是为了熟悉的人方便,或者增加面试的复杂度 ////UseMiddlerware 类--反射找 //app.UseMiddleware<FirstMiddleWare>(); //app.UseMiddleware<SecondMiddleWare>(); //app.UseMiddleware<ThreeMiddleWare>(); #endregion #region app config if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(new StaticFileOptions() { FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot")) }); // Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), // specifying the Swagger JSON endpoint. app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); }); loggerFactory.AddLog4Net(); app.UseSession(); app.UseRouting(); app.UseAuthentication(); //鉴权,检测有没有登陆,登录的是谁,赋值给User app.UseAuthorization(); //授权,检测权限 app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); #endregion }