ASP.NET Ядро 3.1 SignalR: метод OnReconnected

#asp.net-core #signalr #signalr-hub

#asp.net-ядро #signalr #signalr-концентратор

Вопрос:

В предыдущих версиях SignalR в классе Hub был метод OnReconnected(). Но теперь есть только методы OnConnectedAsync() / OnDisconnectedAsync() . Как обнаружить событие повторного подключения в концентраторе?

Комментарии:

1. Насколько я знаю, ASP.NET Core SignalR больше не поддерживает автоматическое переподключение в случае сбоя транспортного соединения или сервера. В более старых версиях в случае сбоя сервера клиент пытается восстановить соединение в соответствии с алгоритмом планирования и, в случае успеха, повторно открывает соединение с тем же идентификатором. В ядре SignalR, если соединение прерывается, клиент может запустить его снова только с помощью метода start, и это приводит к созданию другого экземпляра соединения с другим идентификатором соединения. Таким образом, он удаляет повторно подключенный метод из концентратора. Вы могли бы попробовать использовать клиентское событие onreconnected.

2. Кроме того, если вы хотите обнаружить событие повторного подключения в концентраторе, вы можете попытаться создать клиентский метод и вызвать его из концентратора, а затем, основываясь на результате, определить, является ли это повторным подключением или нет. Ссылка: Переподключение клиентов .