0

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

因此,我在此链接(http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr)之后设置了基本示例,但考虑到我的继续进行,我感到很困惑要求是:

  1. 对话总是在教授和提出原始问题的单个学生之间进行。
  2. 教授查看/接收问题的页面和学生提出问题的页面是两个不同的页面。

所以我的问题是:

  1. SignalR 可以用于将客户端在一个页面上发布的消息传递到另一个页面上的客户端的位置吗?
  2. 我如何最好通过我的应用程序中的用户 ID 而不是 SignalR 客户端的连接 ID 来定位特定客户端?有没有办法设置connectionID以及如何设置?这里的正确方法是什么?显然,我可以将我的用户 ID 传递给客户端,并使用某种 JavaScript 来验证返回的用户 ID 是否与客户端的用户 ID 相同。但这是正确的方法吗?

我为冗长的文字墙道歉,任何建议将不胜感激......

4

1 回答 1

2
  1. 是的,您甚至可以使用 SignalR 将消息传递给完全独立域上的客户端。
  2. Clients.Client("您要发送到的连接 ID").
    不,您可以通过 Context.ConnectionId 访问它。管理连接 ID SignalR 1.0 beta 连接工厂
    的最佳实践。 你永远不想拥有验证客户端,因为它可以很容易地改变,做身份验证服务器端。

最后,如果您正在寻找一个关于 Chat checkout JabbR的示例,它是开源的!https://github.com/davidfowl/JabbR

希望这可以帮助!

于 2013-02-24T20:24:30.543 回答