SignalR Conexión persistente Dando 404 en Echo/Negociate
-
26-10-2019 - |
Pregunta
Tengo problemas con el ejemplo más básico https://github.com/signalr/signalr/wiki/quickstart-persistent-connections. Recibo "404 en Echo/negociar"
Solución
El ejemplo está desactualizado. Es porque las llamadas predeterminadas de MVC-Project RegisterRoutes (Routetable.Routes);Tienes que mover la MapConnection a dentro de los Registro de registro, después del rutes.ignorRoute ("{Resource} .axd/{*pathInfo}"; pero antes de cualquier otra ruta.
espero que esto ayude
Otros consejos
Obtuve exactamente el mismo error al intentar implementar la muestra básica de conexión persistente, y me tomó bastante tiempo darme cuenta de que se debía a una versión de desajuste para newtonsoft.json, problema y solución descritas aquí:
https://github.com/signalr/signalr/issues/195
Es decir, agregue una sección como:
<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>
a su web.config.
No sé por qué faltaba esa sección para mí, ya que por lo que entiendo, Nuget debería agregar automáticamente, tal vez algo que ver con Visual Studio 11 Beta. De todos modos, era la solución a mi problema.
Hay dos pasos:
1 en web.config
Agregar o editar la regla 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
Agregar nuevo:
RouteTable.Routes.MapConnection<ChatConnection>("negotiate", "/chat");
En método protected void Application_Start(){}
Buena suerte !