【问题标题】:Alert Selected users SignalR提醒选定的用户 SignalR
【发布时间】:2013-03-09 02:12:49
【问题描述】:

我正在为我的MVC4 应用程序中的jQueryAjax 警报功能寻找替代解决方案。我偶然发现了SignalR,它看起来可以解决我的解决方案,但我听说你可以向某个客户而不是所有客户广播,我似乎找不到一个例子。

基本上我只想知道:

  1. 在设置时,clientID 可以是登录时的应用程序 UserID 吗?
  2. 您能否向特定角色和/或用户 ID 列表广播
  3. 是否有任何示例可以帮助证明上述内容?

提前致谢

【问题讨论】:

标签: c# jquery asp.net-mvc asp.net-mvc-4 signalr


【解决方案1】:
  1. 使用 SignalR,您可以管理自己的用户身份。 SignalR 用 ConnectionId 代表每个用户,但最终取决于开发人员将其映射到现有用户配置文件。
  2. 是的,您可以向组或特定客户端广播。您可以将客户添加到群组中,然后同时向多人发送一条消息,也可以发送给特定客户。
  3. 正如评论中指出的那样,JabbR 是一个很好的例子。另外,要快速入门 SignalR,请查看 Quick Start Hubs page。最后,SignalR 是开源的,请查看 sourcewiki

【讨论】:

  • 感谢您的回复!这个connectionID每次连接都会改变吗?可以在设置连接时设置吗? IE。 connection.ConnectionID = WebSecurity.CurrentUserID?
  • 每个连接的连接 ID 都会改变(它是一个 GUID),你不能在连接设置中设置它。我建议在您的集线器上创建一个静态 ConcurrentDictionary ,其中 UserProfile 是您自己的数据结构,其中包含用户 WebSecurity 身份等。在 Onconnected 添加到字典中,在 OnReconnected 检查用户是否在那里;如果他不是然后添加他,在 OnDisconnected 中从字典中删除用户。
猜你喜欢
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
  • 2011-09-04
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多