#server #signalr #blazor
Вопрос:
Соединение SignalR-это соединение между сервером и пользователем, которое «хранится» в памяти сервера.
Есть несколько сценариев, в которых SignalR теряется, и пользователю необходимо перезагрузить страницу.
- Когда мне нужно перезапустить сервер
- Когда пользователь отключает свой телефон и возвращается на сайт через некоторое время
Возможно ли каким-то образом сохранить эти экземпляры подключения SignalR в базе данных, чтобы при перезагрузке сервера они были загружены в память, и пользователь мог подключиться к своему предыдущему состоянию ?
Ответ №1:
Вам не нужно сохранять соединение. Что вам нужно сохранить, так это состояние сеанса приложения/пользователя. Ознакомьтесь с этой статьей ниже:
Если вы ищете функциональность резюме в стиле мобильного приложения, этого очень трудно достичь.
Ответ №2:
Я сохраняю подключенных пользователей. В масштабируемых службах нет гарантии, что вы получите один и тот же экземпляр сервера. Существует функция автоматического повторного подключения, которую вы можете просмотреть в контексте концентратора, кроме того, что вам следует настроить своих клиентов на повторное подключение, отслеживая состояние соединения. В любом случае вы получите новое соединение.