Вам необходимо добавить / signalr / hubs на страницу, это javascript, динамически генерируемый SignalR, содержащий заглушки методов для ваших концентраторов и методы на концентраторах.
Таким образом, если у вас есть .NET-хаб с именем TestHub
, с методом, называемым SendMessage(string message)
, будет сгенерирован javascript, чтобы вы могли из JavaScript вызвать:
Укажите в браузере 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 (wrench-icon-> Инструменты-> Инструменты разработчика), чтобы увидеть, что отправлено и возвращено с сервера.
РЕДАКТИРОВАТЬ: В SignalR была ошибка, препятствующая правильной генерации / signalr / hubs (это не генерировало заглушки метода). https://github.com/SignalR/SignalR/issues/134
EDIT2: у вас может быть неверный тег сценария, попробуйте:
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>
или вы не ссылались на SignalR.AspNet.dll
сборку. Если я правильно помню, именно эта сборка связывает маршрут с /signalr.