ASP.NET Core 2使用SignalR构建聊天组件遇路径错误求助
解决SignalR 1.0.0-preview2-final路径必须以‘/’开头的错误
这个问题我之前在使用SignalR早期预览版本时也碰到过,其实就是个路由格式的小细节问题!
你当前用的是SignalR 1.0.0-preview2-final,这个版本对Hub的路由路径有强制要求:必须以斜杠/开头。而你参考的旧文章基于更早的SignalR版本,当时还没有这个规则,所以直接写"chat"就会触发报错。
修复步骤
只需要给MapHub的路径加上开头的斜杠即可,修改你的Startup.cs代码:
原来的代码:
app.UseSignalR(routes => { routes.MapHub<Chat>("chat"); });
修改后的正确代码:
app.UseSignalR(routes => { routes.MapHub<Chat>("/chat"); });
额外提示
如果之后你升级到SignalR正式版或者更新的预览版本,这个路径开头的斜杠要求会被放宽,甚至可以省略,但在你当前使用的1.0.0-preview2-final版本里,必须严格遵守这个格式配置路由。
内容的提问来源于stack exchange,提问作者wandos
相关产品推荐
相关产品推荐

