SignalR в Angular - Подключение хабов
На фронте использую (Angular 14): @microsoft/signalr
На бекенде использую (.NET 7): Microsoft.AspNetCore.SignalR
Что у меня есть: есть 2 хаба. Первый хаб отслеживает онлайн на сайте и инициализируется как только пользователь авторизуется на сайте. А второй чат хаб - должен работать только когда человек заходит в чат 1 на 1 (т.е до конекта второй хаб отключен). Проблема: После того как жму подключиться к пользователю хаб сперва подключается потом вылетает ошибка
Error while starting connection: TypeError: Cannot read properties of undefined (reading 'transport')
и после нее вылетает
Error: Connection disconnected with error 'Error: Server returned an error on close: Connection closed with an error.'.
Ну и дальше видно что запросы на хаб не проходят.
app.MapHub<ChatHub>("/chatHub", options =>
{
options.Transports = HttpTransportType.WebSockets | HttpTransportType.LongPolling;
});
app.MapHub<OnlineHub>("/onlineHub", options =>
{
options.Transports = HttpTransportType.WebSockets | HttpTransportType.LongPolling;
});
Регистрация хабов плюс сервис в AddSignalR выше тоже подключен (первый хаб работает)
this.onlineHubConnection = new signalR.HubConnectionBuilder()
.withUrl(this.config.apiUrl + '/onlineHub', {
transport: HttpTransportType.WebSockets | HttpTransportType.LongPolling
})
.withAutomaticReconnect()
.build();
this.chatHubConnection = new signalR.HubConnectionBuilder()
.withUrl(this.config.apiUrl + '/chatHub', {
transport: HttpTransportType.WebSockets | HttpTransportType.LongPolling
})
.withAutomaticReconnect()
.build();
Так зарегистрированы оба хаба на фронте. После чего стартуются обычно через this.onlineHubConnection.start().then().catch(). Нужна помощь что я сделал не так? Или может я какие то нюансы упускаю? Но второй хаб не хочет работать.
