SignalR跨多个页面聊天

时间:2013-02-24 18:52:55

标签: .net chat signalr

我正在研究学习管理系统,我对考试模块有要求,学生可以在考试期间通过与教授的1对1聊天来提问。基本上学生会问一个与考试问题相关的问题,然后教授会回答那个特定的学生。我认为这将是尝试SignalR的理想用例。

所以我设置了这个链接(http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr)之后的基本示例,但我很困惑,继续考虑我的要求:

  1. 教授和一位提出原问题的学生之间的对话总是如此。
  2. 教授查看/接收问题的页面和学生提问的页面是两个不同的页面。
  3. 所以我的问题是:

    1. 可以使用SignalR将客户端在一个页面上发布的消息传递到另一个客户端上的客户端吗?
    2. 我如何通过我的应用程序中的用户ID而不是SignalR客户端的连接ID来定位特定客户端?有没有办法设置connectionID以及如何?这里的正确方法是什么?显然,我可以将我的用户ID传递给客户端并使用某种JavaScript来验证返回的用户ID是否与客户端的用户ID相同。但这是正确的方法吗?
    3. 我为冗长的文字墙道歉,任何建议都会受到高度赞赏......

1 个答案:

答案 0 :(得分:2)

  1. 是的,您甚至可以使用SignalR在完全独立的域中向客户端发送消息。
  2. Clients.Client(“您要发送给的连接ID”) 不,您可以通过Context.ConnectionId访问它 管理连接ID的最佳实践SignalR 1.0 beta connection factory 您永远不希望拥有验证客户端,因为它可以轻松更改,执行身份验证服务器端。
  3. 最后,如果您正在寻找一个关于聊天结帐JabbR的示例,那么它是开源的! https://github.com/davidfowl/JabbR

    希望这有帮助!