示例#1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env,
                              ApplicationDbContext context, RoleManager <IdentityRole> roleManager, UserManager <IdentityUser> userManager)
        {
            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(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            SeedData.InitializeAsync(context, userManager, roleManager).Wait();
        }
示例#2
0
        private static void InitializeDatabase(IWebHost webHost)
        {
            using (var serviceScope = webHost.Services.CreateScope()) {
                var serviceProvider = serviceScope.ServiceProvider;
                var logger          = serviceProvider.GetRequiredService <ILogger <Program> > ();
                logger.LogDebug("in InitializeDatabase #################################");

                SeedData.InitializeAsync(serviceProvider).Wait();
            }
        }
示例#3
0
        private static void InitializeDatabase(IWebHost host)
        {
            using (var scope = host.Services.CreateScope()) {
                var services = scope.ServiceProvider;

                try {
                    SeedData.InitializeAsync(services).Wait();
                }
                catch (Exception ex) {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "Error occurred seeding the DB.");
                }
            }
        }
示例#4
0
        private static void InitializeDatabase(IWebHost host)
        {
            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;

                try
                {
                    SeedData.InitializeAsync(services).Wait();
                    //wait() se asegura de que la tarea finalize antes que la app inicie.
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "Error");
                }
            }
        }
示例#5
0
        public static async Task Main(string[] args)
        {
            //Original
            //CreateHostBuilder(args).Build().Run();

            // var host = BuildWebHost(args);
            // InitializeDatabase(host);
            // host.Run();

            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                SeedData.InitializeAsync(scope.ServiceProvider).Wait();

                //await SeedData.InitializeAsync(scope.ServiceProvider);

                // var services = scope.ServiceProvider;
                // var roleManager = services.GetRequiredService<RoleManager<IdentityRole>>();
            }
            host.Run();
        }
示例#6
0
 public static void InitializeDataBase(IWebHost host)
 {
     using (var scope = host.Services.CreateScope())
     {
         var services = scope.ServiceProvider;
         try
         {
             /*
              * 因为InitializeAsync()返回一个 Task,就必须使用 Wait() 方法以确保它在应用程序启动前完成。
              * 你一般是用 await 做这件事,但是因为某些技术原因,你无法在 Program 方法中使用 await。
              * 这是个罕见的例外 —— 所有其它地方你都应该用 await!
              */
             //await SeedData.InitializeAsync(services);
             SeedData.InitializeAsync(services).Wait();
         }
         catch (Exception ex)
         {
             var logger = (ILogger <Program>)services.GetService(typeof(ILogger <Program>));
             logger.LogError(ex, "Error occured seeding the DB.");
         }
     }
 }
示例#7
0
        public static void Main(string[] args)
        {
            // CreateWebHostBuilder(args).Build().Run();

            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;

                try
                {
                    SeedData.InitializeAsync(services).Wait();
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();

                    logger.LogError(ex, "Error occured seeding database");
                }
            }

            host.Run();
        }
示例#8
0
        public static void Main(string[] args)
        {
            //  CreateWebHostBuilder(args).InitializeDatabase().Build().Run();
            var host = BuildWebHost(args);

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;

                try
                {
                    SeedData.InitializeAsync(services).Wait();
                    var db = services.GetRequiredService <ApplicationDbContext>();
                    db.Database.Migrate();
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "Error Occured Seeding The DB.");
                }
            }
            // InitializeDatabase(host);
            host.Run();
        }