VS2013浏览器链接找不到path的控制器/ 9ac086a69364466a841e03e001f946fd / arterySignalR / ping'。

由于更新到VS2013,我们收到这个错误时运行我们的(MCV4)networking应用程序:

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

我知道它涉及到浏览器链接,虽然我不知道我们需要做些什么才能使其正常工作。 我们需要做一些configuration更改来支持这个新function吗?

如果您想要浏览器链接的好处,但不想丢失控制器path例外,您可以添加一个忽略正则expression式到您的路线集合。 这就是我所做的:

 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); #if DEBUG routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*/arterySignalR/ping" }); #endif //... } 

正则expression式技术是由菲尔·哈克博士提供的 。

在VS2013 @托德的解决scheme不适合我,所以我做了我自己的。
希望能节省一些时间。

 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); #if DEBUG routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*__browserLink.*" }); #endif } 

将以下内容添加到您的根web.config

 <appSettings> <add key="vs:EnableBrowserLink" value="false" /> </appSettings> 

这恰好是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。

曾在VS2013,一些项目nuget包更新后。

清理解决scheme,closuresVS和IISExpress从尝试和解决