Можем ли мы ввести настраиваемое состояние пользователя для подключений SignalR? - PullRequest
0 голосов
/ 08 мая 2020

Мы имеем дело с проектом, который отвечает за отправку сообщений нашим подключенным (вошедшим в систему) клиентам с помощью SignalR.

Проблема, с которой мы сталкиваемся, заключается в том, что каждый клиент может иметь разные настройки языка, и мы должны передать правильное сообщение на основе выбранного языка. Настройка языка включена в утверждения токена пользователя. (Язык не установлен в Backend, и каждый клиент может иметь свою настройку языка, даже если они принадлежат одному пользователю)

Я знаю, что мы можем использовать UserId для получения текущих подключений пользователя. Мы делаем это следующим образом:

_hubContext.Clients.User(connectedUser.Identifier)

Итак, в основном подключения SignalR должны знать о состоянии пользователя (по крайней мере, его идентификатор), возникает вопрос: есть ли возможность ввести другие состояния пользователя в SignalR?

Право известно, что мы используем одноэлементный список для сохранения состояния, но это не лучший подход с точки зрения масштабируемости и использование базы данных только для того, чтобы сохранить предпочтительный язык клиента тоже не кажется очень элегантным (особенно когда дело касается мертвых соединений)

Любые другие идеи также могут помочь.

...