Вам нужно добавить /signalr/hubs на страницу, это javascript, динамически сгенерированный SignalR, содержащий заглушки методов для ваших концентраторов и методы на концентраторах.
Итак, если у вас есть .NET-концентратор с именем TestHub
, с помощью метода с именем SendMessage(string message)
будет сгенерирован javascript, поэтому вы можете из вызова JavaScript: $.connection.testHub.sendMessage("some message to server");
Укажите в браузере URL-адрес: /signalr/hubs, и вы должны получить javascript.
примерно через 150 строк вы увидите заглушку ticketHub:
$.extend(signalR, {
ticketHub: {
_: {
hubName: 'YourNameSpace.TicketHub',
ignoreMembers: ['someMethod', 'namespace', 'ignoreMembers', 'callbacks'],
connection: function () { return signalR.hub; }
},
Вы можете использовать плагин Mozilla Firebug или инструменты разработчика Chrome (значок гаечного ключа->Инструменты->Инструменты разработчика), чтобы увидеть, что отправлено и возвращено с сервера.
РЕДАКТИРОВАТЬ: в SignalR была ошибка, препятствующая правильной генерации /signalr/hubs (она не генерировала заглушки методов). https://github.com/SignalR/SignalR/issues/134
EDIT2: у вас может быть неправильный тег script, попробуйте:
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>
или вы не сослались на сборку SignalR.AspNet.dll
. Если я правильно помню, именно эта сборка связывает маршрут с /signalr.
person
MatteKarla
schedule
19.01.2012