如何在ASP.NET Core项目中为MVC和SignalR配置路由?

托斯滕·韦斯特海德

我正在尝试使用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路由并存?

帕维尔

您需要先放置UseSignalRUseMvc否则后备路径将在由所添加的路径之前被注册UseSignalR

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在ASP.NET Core中实施小写路由?

如何在.NET Core项目中引用.NET Framework项目?

如何在ASP.NET Core MVC项目中使用jQuery和Ajax从视图调用api?

如何在ASP.NET Core项目中读取本地文件?

如何在ASP.NET Core项目中包括对程序集的引用

如何在ASP.NET Core中设置启动路由

如何在ASP.NET Core(面向.NET Framework的目标)项目中引用旧程序集?

如何在Visual Studio ASP.NET Core项目中使用语义UI反应?

如何在ASP.NET MVC ReactJS项目中使用“导入”?

如何在我的ASP.NET Core MVC项目中引用Microsoft.JQuery.Unobtrusive.Ajax

如何在asp.net项目中链接CSS文件?

如何在ASP.NET MVC C#项目中插入脚本

如何在.NET Core 2.2中为SignalR配置JsonOptions?

如何在ASP.NET Core 2.2项目中为子域正确启用CORS?

如何在.net Core项目中使用SignalR Core监听Postgresql数据库?

如何在ASP.NET Core中进行条件路由?

如何在ASP.NET Core MVC和Angular项目中使用Angular Material组件(特别是滑块)?

如何在Asp.Net Core MVC项目中为Swagger文档明确定义API控制器路径

如何在ASP.NET Core MVC项目中向特定区域提交表单?

如何在ASP.NET项目中包括jquery插件

如何在ASP.NET MVC项目中使用.NET的GroupDocs Viewer?

如何在同一个ASP.Net MVC项目中使用Unity MVC和Unity WebAPI

如何在ASP.Net MVC4和Web API 1项目中进行属性路由?

ASP.Net Core MVC项目无法配置路由?

如何在 ASP.NET 项目中实现 Azure Push?

如何在 Asp.net Core 项目中使用 SoapCore 在项目路由文件夹中公开 wsdl

如何在 ASP .NET Core 中实现基于 slug 的路由?

如何在 ASP.NET CORE 5.0 MVC 中将登录设置为默认路由

如何在 ASP.NET Core 中配置端点路由