Мы имеем дело с проектом, который отвечает за отправку сообщений нашим подключенным (вошедшим в систему) клиентам с помощью SignalR.
Проблема, с которой мы сталкиваемся, заключается в том, что каждый клиент может иметь разные настройки языка, и мы должны передать правильное сообщение на основе выбранного языка. Настройка языка включена в утверждения токена пользователя. (Язык не установлен в Backend, и каждый клиент может иметь свою настройку языка, даже если они принадлежат одному пользователю)
Я знаю, что мы можем использовать UserId для получения текущих подключений пользователя. Мы делаем это следующим образом:
_hubContext.Clients.User(connectedUser.Identifier)
Итак, в основном подключения SignalR должны знать о состоянии пользователя (по крайней мере, его идентификатор), возникает вопрос: есть ли возможность ввести другие состояния пользователя в SignalR?
Право известно, что мы используем одноэлементный список для сохранения состояния, но это не лучший подход с точки зрения масштабируемости и использование базы данных только для того, чтобы сохранить предпочтительный язык клиента тоже не кажется очень элегантным (особенно когда дело касается мертвых соединений)
Любые другие идеи также могут помочь.