protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); LoggerConfig.ConfigureLogger(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IHubContext <NotificationsHub> hubContext) { if (NotificationsHub.HubContext == null) { NotificationsHub.HubContext = hubContext; } loggerFactory.AddDebug(LogLevel.Warning); loggerFactory.AddFile(Configuration.GetSection("Logging")); LoggerConfig.ConfigureLogger(loggerFactory); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRequestToken(); app.UseCors("AllowAllHeaders"); app.UseExceptionHandler( builder => { builder.Run( async context => { context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; context.Response.Headers.Add("Access-Control-Allow-Origin", "*"); var error = context.Features.Get <IExceptionHandlerFeature>(); if (error != null) { context.Response.AddApplicationError(error.Error.Message); await context.Response.WriteAsync(error.Error.Message).ConfigureAwait(false); } }); }); app.UseAuthentication(); app.UseDefaultFiles(); app.UseStaticFiles(); app.UseSpaStaticFiles(); app.UseSignalR(routes => { routes.MapHub <NotificationsHub>("/notification"); //routes.MapHub<NotificationsHub>("/register"); }); app.UseMvc(); app.UseSpa(spa => { // To learn more about options for serving an Angular SPA from ASP.NET Core, // see https://go.microsoft.com/fwlink/?linkid=864501 //spa.Options.SourcePath = "ClientApp"; spa.Options.SourcePath = "../WebApp"; if (env.IsDevelopment()) { spa.UseAngularCliServer(npmScript: "start"); } }); }