VS2013浏览器链接“路径控制器'/ 9ac086a69364466a841e03e001f946fd / arterySignalR / ping'找不到。”

时间:2013-10-21 01:12:16

标签: asp.net-mvc signalr visual-studio-2013

自更新到VS2013以来,我们在运行我们的(MCV4)网络应用时收到此错误:

The controller for path '/9ac086a69364466a841e03e001f946fd/arterySignalR/ping' could not be found.

我知道它与浏览器链接有关,虽然我不确定我们需要做些什么来使它正常工作。是否需要进行一些配置更改以支持此新功能?

6 个答案:

答案 0 :(得分:39)

答案 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,尝试并解决