我刚刚得到了 Scott Hanselman 的带有 SignalR 的聊天应用程序与 ASP.NET MVC 4 一起工作。经过数小时的配置、反复试验,并让不同版本的 Windows 在我的家庭网络上相互通信,除了我在留下一个我不知道如何处理的问题。
这行 javascript 必须更改,具体取决于我是通过 Visual Studio 还是已发布 (IIS) 版本运行应用程序:
在 VS 中运行时工作:
var connection = $.connection('echo');
适用于已发布版本:
var connection = $.connection('ChatWithSignalR/echo');
当我在 VS 中运行时,URL 是:
http://localhost:9145/
发布的版本是:
http://localhost/ChatWithSignalR
如果我不更改那行代码,并尝试在 VS 中运行应用程序,使用其中包含 ChatWithSignalR 的 javascript,我会收到如下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:9145/ChatWithSignalR/echo/negotiate?_=1347809290826
我该怎么做才能使用相同的 javascript 代码并让它在两种情况下都能正常工作?
var connection = $.connection('??????');
请注意,这是在我的 Global.asax.cs 中:
RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");