SignalR Постоянное соединение, дающее 404 на эхо / согласование - PullRequest
9 голосов
/ 16 февраля 2012

У меня проблемы с самым простым примером https://github.com/SignalR/SignalR/wiki/QuickStart-Persistent-Connections. Я получаю "404 по эхо / согласованию"

Ответы [ 3 ]

18 голосов
/ 16 февраля 2012

Пример устарел. Это потому что MVC-проект по умолчанию вызывает RegisterRoutes (RouteTable.Routes); Вы должны переместить MapConnection внутрь RegisterRoutes после route.IgnoreRoute ("{resource} .axd / {* pathInfo}"; , но перед любыми другими маршрутами.

Надеюсь, это поможет

3 голосов
/ 06 апреля 2012

Я получил точно такую ​​же ошибку при попытке реализовать базовый пример постоянного соединения, и мне потребовалось много времени, чтобы понять, что это произошло из-за несовпадения версий для 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 голосов
/ 15 октября 2013

Есть два шага: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(){}

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...