Я начинаю с signalr, но у меня возникают проблемы, мой тестовый сервер работает по адресу http://localhost: 22660/, а мой веб-сайт работает по адресу http://localhost: 61963/. Я получил эту ошибку при подключении с клиента на сервер:
GET http://localhost: 61963/signalr/negotiate? ClientProtocol = 1.4 & connectionData =% 5B% 7B% 22name% 22% 3A% 22chathub% 22% 7D% 5D & _ = 1496809403215 404 (не найдено)
Я уже config: $.connection.hub.url = ' http://localhost: 22660/signalr '; но не работает, этот мой код js:
var connection = $.hubConnection();
$.connection.hub.url = 'http://localhost:22660/signalr';
var chatHub = connection.createHubProxy('ChatHub');
connection.start()
.done(function () { console.log('Now connected, connection ID=' + connection.id); })
.fail(function () { console.log('Could not connect'); });
Сервер:
namespace test
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
EnableJSONP = true
};
map.RunSignalR(hubConfiguration);
});
}
}
}
namespace SignalRChat
{
public class ChatHub : Hub
{
public void Send(string name, string message)
{
// Call the addNewMessageToPage method to update clients.
Clients.All.addNewMessageToPage(name, message);
}
}
}
Я не уверен, но я думаю, потому что я использую другую версию signalr (2.1.2 и 2.2.0). Использование той же версии решило мою проблему.