我正在尝试使用Angular4客户端使用ASP.NET Core 2.1.0-preview1和ASP.NET Core SignalR 1.0.0-alpha1构建Web应用程序。到目前为止,我已经能够弄明白了,实际上可以从客户端内部打开SignalR Web套接字连接。不过,这是有代价的,这是我的摘录Startup.cs
:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
/*routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });*/
});
app.UseWebSockets();
app.UseSignalR(routes =>
{
routes.MapHub<Feed>("feed");
});
如您所见,我不得不禁用“ spa-fallback”路由,如果不这样做,SignalR将接收纯HTML而不是JSON。当然,这样做的缺点是我现在必须输入准确的URL(localhost:12345/home/index
例如),这很糟糕。
所以我的问题是,如何使MVC路由和SignalR路由并存?
您需要先放置UseSignalR
,UseMvc
否则后备路径将在由所添加的路径之前被注册UseSignalR
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句