自更新到VS2013以来,我们在运行我们的(MCV4)网络应用时收到此错误:
The controller for path '/9ac086a69364466a841e03e001f946fd/arterySignalR/ping' could not be found.
我知道它与浏览器链接有关,虽然我不确定我们需要做些什么来使它正常工作。是否需要进行一些配置更改以支持此新功能?
答案 0 :(得分:39)
我禁用了浏览器链接。这个链接的第二个#4。
答案 1 :(得分:14)
如果您希望浏览器链接的优点但不希望缺少控制器路径例外,则可以向路由集合添加忽略正则表达式。这就是我所做的:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#if DEBUG
routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*/arterySignalR/ping" });
#endif
//...
}
正则表达式技术由this Phil Haack post提供。
答案 2 :(得分:8)
在VS2013 @Todd的解决方案对我不起作用,所以我自己做了。
希望它可以节省你一些时间。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#if DEBUG
routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*__browserLink.*" });
#endif
}
答案 3 :(得分:7)
将以下内容添加到根web.config
:
<appSettings>
<add key="vs:EnableBrowserLink" value="false" />
</appSettings>
答案 4 :(得分:5)
这恰好是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。
答案 5 :(得分:0)
在VS2013中,经过一些项目nuget包更新。
清理解决方案,关闭VS和IISExpress,尝试并解决