コード例 #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, IMapper autoMapper, ILogger <Startup> logger)
        {
            try
            {
                autoMapper.ConfigurationProvider.AssertConfigurationIsValid();

                var scopeFactory = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>();

                ApplicationDbContextSeed.UpdateDatabases(scopeFactory, logger).GetAwaiter().GetResult();

                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                else
                {
                    app.UseExceptionHandler("/Home/Main");

                    // 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.UseSerilogRequestLogging();

                app.UseHttpsRedirection();

                app.UseStaticFiles();

                app.UseRouting();

                app.UseMultiTenant();

                app.UseAuthentication();

                app.UseAuthorization();

                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapControllerRoute(
                        name: "default",
                        pattern: $"{{{Domain.Constants.RouteTenantParameterName}}}/{{controller=Home}}/{{action=Index}}/{{id?}}");

                    endpoints.MapControllerRoute(
                        name: "landing",
                        pattern: "{controller=Home}/{action=Index}");

                    endpoints.MapRazorPages();
                });
            }
            catch (Exception ex)
            {
                logger.LogError(ex, "Error in Configure");
                throw;
            }
        }