Я пытаюсь подключиться к концентратору SignalR, который находится в отдельном проекте Web Api из проекта MVC, но соединение продолжает сбой с ошибкой. Я тестирую локально, но, видимо, если вы используете IE, он будет обрабатывать Cross domain для вас.Не удалось подключиться к концентратору SignalR от Javascript
В Chrome
http://localhost:53453/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22gweventhub%22%7D%5D&_=1430342757730 Failed to load resource: the server responded with a status of 404 (Not Found)
В IE
Connection Error: Error during negotiation request.
Вот код сервера для концентратора.
[HubName("GWEventHub")]
public class GatewayEventHub : Hub
{
public override Task OnConnected()
{
this.Groups.Add(this.Context.ConnectionId, this.Context.Request.User.Identity.Name);
return (base.OnConnected());
}
public override Task OnDisconnected(bool stopCalled)
{
this.Groups.Remove(this.Context.ConnectionId, this.Context.Request.User.Identity.Name);
return base.OnDisconnected(stopCalled);
}
}
Вот Javascript, пытающийся подключиться к концентратору. Это расположено в отдельном приложении MVC.
$(function() {
var connection = $.hubConnection('http://localhost:53453');
connection.logging = true;
var hub = connection.createHubProxy('GWEventHub');
hub.logging = true;
function handleMessage(message) {
console.log('message from hub: ' + message);
}
hub.on('sendUserMessage', handleMessage);
connection.start()
.done(function() {
alert('connect to GatewayEventHub, Connection ID = ' + connection.id);
})
.fail(function(e) {
console.log('Connection Error ' + e);
});
});
Есть ли что-то, что мне не хватает в процессе подключения?
, так что, похоже, получил мне немного ближе, но теперь ошибку поговорки «неперехваченную Ошибку: SignalR:. Ошибка загрузки концентраторов Убедитесь ссылка на ваш хаб верна, например . " Я попробовал добавить к виду, которое вызывает код signalr, но все равно не повезло. –
Не могли бы вы попробовать ниже? Добавить тильду (~) перед ней. – Ruchira
К сожалению, даже после добавления, что я все еще получаю ту же ошибку :( –