Fat*_*tal 41 asp.net-mvc signalr visual-studio-2013
自从更新到VS2013后,我们在运行我们的(MCV4)Web应用程序时收到此错误:
The controller for path '/9ac086a69364466a841e03e001f946fd/arterySignalR/ping' could not be found.
Run Code Online (Sandbox Code Playgroud)
我知道它与浏览器链接有关,虽然我不确定我们需要做些什么来使其正常工作.我们需要进行一些配置更改才能支持这项新功能吗?
Tod*_*odd 14
如果您希望浏览器链接的优点但不希望缺少控制器路径异常,则可以向路由集合添加忽略正则表达式.这就是我做的:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#if DEBUG
routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*/arterySignalR/ping" });
#endif
//...
}
Run Code Online (Sandbox Code Playgroud)
这个正则表达式的技术是由Phil Haack这个帖子提供的.
在VS2013 @Todd的解决方案对我不起作用,所以我自己制作了.
希望它可以节省你一些时间.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#if DEBUG
routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*__browserLink.*" });
#endif
}
Run Code Online (Sandbox Code Playgroud)
将以下内容添加到您的根目录web.config
:
<appSettings>
<add key="vs:EnableBrowserLink" value="false" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
这恰好是SignalR的已知问题,并已在SignalR 2.0.1和1.1.5中得到修复:
2.0.1:https://github.com/SignalR/SignalR/issues/2569(尚未发布)
1.1.5:https://github.com/SignalR/SignalR/issues/2570(尚未发布)
简而言之,没有什么可以做的改变它,应该等待下一个版本的浏览器链接,它有一个更新版本的SignalR.
归档时间: |
|
查看次数: |
18233 次 |
最近记录: |