SignalR - 私人消息传递用户 ID

SignalR - Private Messaging-Userid

我正在研究 Signal-R 私人消息。我尝试使用会话但没有这样做。我想使用数据库中的用户 ID 而不是 context.ConnectionId。我该怎么做?

我建议你使用 IUserIdProvider。默认的从客户端的 IPrincipal.Identity.Name 生成用户名,但您可以提供自己的:

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

这允许您使用 .User(userName) 而不是 .Client(connectionId) 发送消息。

我链接到的文章还提供了一些替代方案,例如在不使用连接 ID 的情况下为消息传递用户提供单用户组。