-
Notifications
You must be signed in to change notification settings - Fork 0
/
Startup.cs
62 lines (51 loc) · 1.9 KB
/
Startup.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.SpaServices.Webpack;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using ChatApplicationAureliaSignalR.Hubs;
namespace ChatApplicationAureliaSignalR {
public class Startup {
public Startup( IConfiguration configuration ) {
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices( IServiceCollection services ) {
// Add framework services.
services.AddMvc( );
services.AddSignalR( );
}
// 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 ) {
if ( env.IsDevelopment( ) ) {
app.UseDeveloperExceptionPage( );
app.UseWebpackDevMiddleware( new WebpackDevMiddlewareOptions {
HotModuleReplacement = true,
ConfigFile = "webpack.netcore.config.js",
HotModuleReplacementClientOptions = new Dictionary<string, string> { { "reload", "true" }
}
} );
} else {
app.UseExceptionHandler( "/Home/Error" );
}
app.UseStaticFiles( );
app.UseSignalR( routes => {
routes.MapHub<ChatHub>( "/chat" );
} );
app.UseMvc( routes => {
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}" );
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" } );
} );
}
}
}