SignalR - приватный обмен сообщениями

Я работаю над личными сообщениями Signal-R. Я пытался использовать сеансы, но не делал. Я хочу использовать идентификаторы пользователей из базы данных вместо context.ConnectionId. Как я могу это сделать?

1 ответ

Решение

Я предлагаю вам использовать IUserIdProvider, По умолчанию генерирует имена пользователей из клиента IPrincipal.Identity.Name, но вы можете предоставить свои собственные:

http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to-connections

Это позволяет отправлять сообщения, используя .User(userName) вместо .Client(connectionId),

Статья, на которую я ссылался, также предоставляет несколько альтернатив, таких как однопользовательские группы для обмена сообщениями пользователей без использования их идентификатора соединения.

Другие вопросы по тегам