Exemplo n.º 1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            //logging
            app.ApplicationServices.CreateLoggerConfiguration(env);

            //add read appseting.json
            AppSettingServices.Services = app.ApplicationServices;
            //
            Helper.ConfigureContextAccessor(app.ApplicationServices.GetRequiredService <IHttpContextAccessor>());
            //config logging
            LoggingHelper.Config(app.ApplicationServices.GetRequiredService <IDiagnosticContext>());
            app.UseSerilogRequestLogging(opts =>
            {
                opts.EnrichDiagnosticContext = DiagnosticContext.EnrichFromRequest;
            });
            app.UseSerilogRequestLogging();
            //swagger
            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "news Api");
            });
            app.UseMiddleware <Maintenancemiddleware>();
            app.UseMiddleware <LoggingMiddleware>();
            app.UseMiddleware <ErrorHandlingMiddleware>();

            app.UseCustomStaticFiles(env);
            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "MyArea",
                    pattern: "{area:exists}/{controller=Dashboard}/{action=Index}/{id?}");
                endpoints.MapControllers();
            });
        }