示例#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)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseStaticFiles(new StaticFileOptions
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images")),
                RequestPath = "/images"
            });
            app.UseCookiePolicy();
            app.UseAuthentication();
            app.UseSession();
            app.UseResponseCompression();
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "areas",
                    template: "{area:exists}/{controller=Home}/{action=Index}"
                    ); routes.MapRoute(
                    name: "UploadEbook",
                    template: "/upload/{userId}",
                    defaults: new { controller = "books", action = "upload" }
                    ); routes.MapRoute(
                    name: "UpdateEbook",
                    template: "/cap-nhat/{userId}&{id}",
                    defaults: new { controller = "Books", action = "PutAsync" }
                    ); routes.MapRoute(
                    name: "Manager",
                    template: "/quan-ly/{userId}",
                    defaults: new { controller = "books", action = "GetManagers" }
                    ); routes.MapRoute(
                    name: "EbookByUser",
                    template: "/e-books/{userId}",
                    defaults: new { controller = "books", action = "GetBookByUser" }
                    );
                routes.MapRoute(
                    name: "ebookDetail",
                    template: "v/{meta}/{id}",
                    defaults: new { controller = "books", action = "detail" }
                    ); routes.MapRoute(
                    name: "category",
                    template: "c/{meta}/{id}",
                    defaults: new { controller = "Books", action = "LoadByCategory" }
                    );
                routes.MapRoute(
                    name: "booktype",
                    template: "t/{meta}/{id}",
                    defaults: new { controller = "Books", action = "LoadByType" }
                    ); routes.MapRoute(
                    name: "google",
                    template: "/signin-google",
                    defaults: new { controller = "UserAccount", action = "GoogleSignIn" }
                    ); routes.MapRoute(
                    name: "khoahoc",
                    template: "/khoa-hoc",
                    defaults: new { controller = "Course", action = "Index" }
                    ); routes.MapRoute(
                    name: "xemkhoahoc",
                    template: "/khoa-hoc/{meta}/{id}",
                    defaults: new { controller = "Course", action = "Detail" }
                    );
                routes.MapRoute(
                    name: "profile",
                    template: "/tai-khoan/{id?}",
                    defaults: new { controller = "UserAccount", action = "Profile" }
                    ); routes.MapRoute(
                    name: "logout",
                    template: "/logout/{id?}",
                    defaults: new { controller = "UserAccount", action = "LogOut" }
                    ); routes.MapRoute(
                    name: "login",
                    template: "/login",
                    defaults: new { controller = "UserAccount", action = "Login" }
                    ); routes.MapRoute(
                    name: "loginrequest",
                    template: "/login/request",
                    defaults: new { controller = "UserAccount", action = "LoginPage" }
                    );
                routes.MapRoute(
                    name: "about",
                    template: "p/thong-tin.html",
                    defaults: new { controller = "About", action = "Index" }
                    ); routes.MapRoute(
                    name: "contact",
                    template: "p/lien-he.html",
                    defaults: new { controller = "Contact", action = "Index" }
                    );

                routes.MapRoute(
                    name: "default",
                    template: "{controller=books}/{action=Index}/{id?}");
            });
            using (var serviceScope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                var dbContext   = serviceScope.ServiceProvider.GetRequiredService <BookStoreDbContext>();
                var roleManager = serviceScope.ServiceProvider.GetService <RoleManager <IdentityRole> >();
                var userManager = serviceScope.ServiceProvider.GetService <UserManager <ApplicationUser> >();
                dbContext.Database.Migrate();
                DbSeeder.Seed(dbContext, roleManager, userManager);
            }
            BookStoreDbContext.CreateAdminAccount(app.ApplicationServices, Configuration).Wait();
        }