示例#1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public async void Configure(IApplicationBuilder app,
                                    IHostingEnvironment env,
                                    UserManager <User> userManager,
                                    RoleManager <Role> roleManager,
                                    ILogger <Startup> logger,
                                    ChatContext dbContext,
                                    IGuideService guideService)
        {
            app.Use(async(context, next) => {
                await next();
                if (context.Response.StatusCode == 404 &&
                    !Path.HasExtension(context.Request.Path.Value) &&
                    !context.Request.Path.Value.StartsWith("/api/"))
                {
                    context.Request.Path = "/index.html";
                    await next();
                }
            });

            await roleManager.SeedRoles(logger);

            await userManager.SeedUserRoles(logger);

            await dbContext.SeedScenarios(guideService, logger);

            app.UseAuthentication();
            app.UseCors("MyPolicy");
            app.UseWebSockets();
            app.UseSignalR(routes =>
            {
                routes.MapHub <MessageHub>("/message");
                routes.MapHub <TrainingHub>("/training");
            });
            app.UseMvcWithDefaultRoute();
            app.UseDefaultFiles();
            app.UseStaticFiles();
        }