public static async Task Main(string[] args) { var host = CreateWebHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var serviceProvider = scope.ServiceProvider; var rolesManager = serviceProvider.GetService <RoleManager <IdentityRole> >(); var userManager = serviceProvider.GetService <UserManager <User> >(); var configuration = serviceProvider.GetService <IConfiguration>(); try { await RolesInitializer.Seed(configuration, rolesManager); await UsersInitializer.Seed(configuration, userManager); } catch (Exception e) { Debug.WriteLine(e.Message); } } host.Run(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, WindowStatusInitializer statusSeeder, RolesInitializer roleSeeder) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseAuthentication(); app.UseMvc(routes => { routes.MapRoute("areaRoute", "{area:exists}/{controller=Home}/{action=Index}/{id?}"); routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); statusSeeder.Seed().Wait(); roleSeeder.Seed().Wait(); }