【问题标题】:SignalR - Private Messaging-UseridSignalR - 私人消息 - 用户 ID
【发布时间】:2015-03-08 21:51:25
【问题描述】:

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

【问题讨论】:

  • 您可以在集线器连接上从客户端传递 userId(或任何类型的信息)作为参数,然后在集线器中建立 1:1 组。然后,您可以执行针对该组(具有一个 ID)的集线器方法,这将基本上完成此操作
  • 你能给我举个例子吗?

标签: jquery asp.net signalr chat private-messaging


【解决方案1】:

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

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

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

我链接到的文章还提供了一些替代方案,例如无需使用连接 ID 即可向用户发送消息的单用户组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-04
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多