我剛剛得到了Scott Hanselman的chat app,SignalR與ASP.NET MVC 4一起工作。經過幾個小時的配置,試驗和錯誤以及獲取不同版本的Windows在我家中彼此交談網絡,這是所有工作,除了我留下一個問題,我不知道如何處理。在開發和發佈版本之間的URL路徑變化
的JavaScript的這條線必須改變,這取決於如果我運行通過Visual Studio或出版(IIS)版本的應用程序:在VS中運行時
作品:
var connection = $.connection('echo');
工程與發佈版本:
var connection = $.connection('ChatWithSignalR/echo');
當我在VS運行,網址是:
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}");
這個想法很完美。謝謝。我用這個:'var rootUrl ='@ Url.Content(「〜」)';'和'var connection = $ .connection(rootUrl +'echo');' –
太棒了,沒問題!我很高興你能用我的例子弄清楚你需要做什麼來創建一個'rootUrl'變量並正確使用它。 – Ian