2012-02-16 30 views

回答

18

該示例已過時。 這是因爲默認的MVC項目調用RegisterRoutes(RouteTable.Routes); 您必須將MapConnection移動到的RegisterRoutes裏面,routes.IgnoreRoute(在 「{}資源個.axd/{*} PATHINFO」但在此之前任何其他途徑

我希望這有助於

+1

我試過了,但仍然收到404。 – 2013-03-06 18:53:05

+0

我嘗試使用相同的示例實現SignalR,但遇到同樣的問題。 /回聲/談判仍然是404'..有人可以幫忙嗎? – KevinIsNowOnline 2013-05-29 00:43:29

+0

嘗試再次閱讀我的解決方案,它是RegisterRoutes的重要順序 – 2013-05-29 07:00:39

3

我試圖實現基本持久連接樣品時完全相同的錯誤,我花了相當長的時間來實現,它在這裏描述的版本不匹配Newtonsoft.Json,問題和解決方案是由於:

https://github.com/SignalR/SignalR/issues/195

也就是說,添加一節,如:

<dependentAssembly> 
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
<bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.0.8.0" /> 
</dependentAssembly> 

到你的web.config。

不知道爲什麼這一段失蹤,因爲據我瞭解應該由nuget自動添加,也許與Visual Studio 11測試版有關。無論如何,這是解決我的問題。

+0

謝謝你,我花了一段時間才注意到這一點,如果我可以給你一千分我會 – 2012-05-02 00:23:53

+0

瘋了,我有同樣的問題。本地我的應用程序很好,但調用signalr時得到了404。我將這添加到我的web.config服務器上,並且poof:working。 – Kywillis 2013-09-09 15:40:46

0

有兩個步驟:
1.在web.config添加或編輯規則JSON

<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" 
publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
<bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.0.8.0" /> 
</dependentAssembly> 


2.在Global.asax新增:

RouteTable.Routes.MapConnection<ChatConnection>("negotiate", "/chat"); 


在方法protected void Application_Start(){}

祝你好運!