public void Configure(IApplicationBuilder app, IHostingEnvironment env, DiagnosticListener diagnosticListener) { var listener = new ApplicationDiagnosticListener(); diagnosticListener.SubscribeWithAdapter(listener); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseAuthentication(); app.UseSession(); var routeBuilder = new RouteBuilder(app); routeBuilder.MapGet("CreateUser", context => { var firstName = context.Request.Query["firstName"]; var lastName = context.Request.Query["lastName"]; var email = context.Request.Query["email"]; var password = context.Request.Query["password"]; var userService = context.RequestServices.GetService <IUserService>(); userService.RegisterUser(new UserModel { FirstName = firstName, LastName = lastName, Email = email, Password = password }); return(context.Response.WriteAsync($"User {firstName} {lastName} has been sucessfully created.")); }); var newUserRoutes = routeBuilder.Build(); app.UseRouter(newUserRoutes); app.UseWebSockets(); app.UseCommunicationMiddleware(); var supportedCultures = CultureInfo.GetCultures(CultureTypes.AllCultures); var localizationOptions = new RequestLocalizationOptions { DefaultRequestCulture = new RequestCulture("en-US"), SupportedCultures = supportedCultures, SupportedUICultures = supportedCultures }; localizationOptions.RequestCultureProviders.Clear(); localizationOptions.RequestCultureProviders.Add(new CultureProviderResolverService()); app.UseRequestLocalization(localizationOptions); app.UseMvc(routes => { routes.MapRoute(name: "areaRoute", template: "{area:exists}/{controller=Home}/{action=Index}"); routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); app.UseStatusCodePages("text/plain", "HTTP Error - Status Code: {0}"); var provider = app.ApplicationServices; var scopeFactory = provider.GetRequiredService <IServiceScopeFactory>(); using (var scope = scopeFactory.CreateScope()) using (var context = scope.ServiceProvider.GetRequiredService <GameDbContext>()) { context.Database.Migrate(); } }
/* * private static void ApiPipeline(IApplicationBuilder app) * { * app.Run(async context => { * await context.Response.WriteAsync("Branched to Api Pipeline"); * }); * } * * private static void WebPipeline(IApplicationBuilder app) * { * app.MapWhen(context => { * return context.Request.Query.ContainsKey("usr"); * }, UserPipeline); * * app.Run(async context => { * await context.Response.WriteAsync("Branched to Web Pipeline"); * }); * } * * private static void UserPipeline(IApplicationBuilder app) * { * app.Run(async context => { * await context.Response.WriteAsync("Branched to User Pipeline"); * }); * } */ // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DiagnosticListener diagnosticListener) { /* * app.Map("/api", ApiPipeline); * app.Map("/web", WebPipeline); * app.Use(next => async context => { * await context.Response.WriteAsync("Called Use."); * await next.Invoke(context); * }); * * app.Run(async context => { * await context.Response.WriteAsync("Finished with Run"); * }); */ var listener = new ApplicationDiagnosticListener(); diagnosticListener.SubscribeWithAdapter(listener); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseDeveloperExceptionPage(); // app.UseExceptionHandler("/Error"); // app.UseHsts(); } var routeBuilder = new RouteBuilder(app); routeBuilder.MapGet("CreateUser", context => { var firstName = context.Request.Query["firstName"]; var lastName = context.Request.Query["lastName"]; var email = context.Request.Query["email"]; var password = context.Request.Query["password"]; var userService = context.RequestServices.GetService <IUserService>(); userService.RegisterUser(new UserModel { FirstName = firstName, LastName = lastName, Password = password, Email = email, EmailConfirmed = true }); return(context.Response.WriteAsync($"User {firstName} {lastName} has been successfully created.")); }); var newUserRoutes = routeBuilder.Build(); app.UseRouter(newUserRoutes); using (StreamReader iisUrlRewriteStreamReader = File.OpenText("Rewrite/IISUrlRewrite.xml")) { var options = new RewriteOptions().AddIISUrlRewrite(iisUrlRewriteStreamReader); //.AddRewrite("NewUser", "/UserRegistration/Index", false); app.UseRewriter(options); } var supportedCultures = CultureInfo.GetCultures(CultureTypes.AllCultures); var localizationOptions = new RequestLocalizationOptions { DefaultRequestCulture = new RequestCulture("en-US"), SupportedCultures = supportedCultures, SupportedUICultures = supportedCultures }; localizationOptions.RequestCultureProviders.Clear(); localizationOptions.RequestCultureProviders.Add(new CultureProviderResolverService()); app.UseCookiePolicy(); app.UseStaticFiles(); app.UseSession(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseWebSockets(); app.UseCommunicationMiddleware(); // app.UseDirectoryBrowser(); app.UseRequestLocalization(localizationOptions); app.UseStatusCodePages("text/plain", "HTTP Error Status Code: {0}"); /* * app.UseSwagger(); * app.UseSwaggerUI(c => { * c.SwaggerEndpoint("/swagger/v1/swagger.json", "LEARNING ASP.CORE 3.0 V1"); * }); */ app.UseEndpoints(endpoints => { endpoints.MapAreaControllerRoute(name: "areas", areaName: "Account", pattern: "Account/{controller=Home}/{action=Index}/{id?}"); endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); /* * var provider = app.ApplicationServices; * var scopeFactory = provider.GetRequiredService<IServiceScopeFactory>(); * * using var scope = scopeFactory.CreateScope(); * scope.ServiceProvider.GetRequiredService<GameDbContext>() * .Database.Migrate(); */ }