Я разработал веб-приложение с использованием SignalR, и оно отлично работает на моем сервере разработки. Но по неизвестным причинам он не работает на производственном сервере.
Я провел несколько тестов:
$.connection.hub.start().done(function () {
console.log('started');
});
Это всегда дает мой старт в консоли, как и ожидалось. Таким образом, клиент и сервер связаны. Но когда я отправляю какие-либо данные, такие как учетные данные, я ничего не получаю обратно.
Вот изображение подключения кадров. Как видите, клиент отправляет данные на сервер, но ничего не получает в ответ.
public override Task OnConnected()
{
Clients.All.Listen("Connected to HUB");
}
СТОРОНА КЛИЕНТА Метод прослушивания:
hub.client.listen = function (response) {
console.log('Listen', response);
}
Есть метод Listen, который я использую для отладки. Это ничего не печатает. Таким образом, клиентский сервер сигнализатора не подключается.
EDIT:
Сообщается о проблеме здесь: https://github.com/SignalR/SignalR/issues/4279, если это помогает.
EDIT2:
Мое веб-приложение - это приложение Vue js 2. Я скомпилировал с помощью vue-cli и загрузил на сервер. Мой файл signalr.js скопирован из проекта ASP.NET MVC.
Я создал приложение Test ASP.NET MVC 5 с SignalR 2.4 и смог общаться на живом сервере.