SignalR connessione permanente dando 404 su eco / negoziare
-
26-10-2019 - |
Domanda
Ho problemi con l'esempio più semplice https://github.com/SignalR/SignalR / wiki / QuickStart-persistent-Connessioni . Ottengo "404 su eco / negoziare"
Soluzione
L'esempio non è aggiornato. E 'perché le chiamate di default MVC-progetto RegisterRoutes (RouteTable.Routes); Dovete spostare la MapConnection verso l'interno le RegisterRoutes, dopo la routes.IgnoreRoute ( "{resource} axd / {* pathinfo}";. , ma prima di qualsiasi altre vie
Spero che questo aiuta ??p>
Altri suggerimenti
ho ottenuto esattamente lo stesso errore quando si cerca di implementare il campione di base connessione persistente, e mi c'è voluto un bel po 'per capire che era a causa di una mancata corrispondenza versione per Newtonsoft.Json, problema e soluzione descritto qui:
https://github.com/SignalR/SignalR/issues/195
Questo è, aggiungere una sezione come:
<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>
al vostro web.config.
Non so perché quella sezione mancava per me dato che per quanto mi risulta dovrebbe essere aggiunto automaticamente da NuGet, forse qualcosa a che fare con Visual Studio 11 beta. In ogni caso, è stata la soluzione al mio problema.
Ci sono due fasi:
1. In web.config
aggiungere o modificare regola 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. In Global.asax
Aggiungi nuovo:
RouteTable.Routes.MapConnection<ChatConnection>("negotiate", "/chat");
Nel metodo protected void Application_Start(){}
In bocca al lupo!