如何通过SignalR Hub向用户发送新消息到达的通知

3
在我们的MVC 4网站中,我希望系统在用户接收到新消息时发送通知。因此,当数据库发生更改(例如:添加了新行),系统将向用户发送通知?

我也在寻找类似的东西。有什么进展吗? - DarthVader
我也在寻找同样的东西... - Manimaran
2个回答

2
以下是操作步骤:
  1. 按照signalR wiki页面上的说明创建一个名为myhub的中心。
  2. 每个连接都有一个连接ID,您可以使用它来关联用户ID,甚至可以将用户名作为参数传递给您的中心方法。再次阅读上面的页面。您可以向中心方法添加任何参数。
  3. 在服务器和客户端上创建一个通知新消息的方法。
  4. 服务器端方法应该接受连接ID或用户名作为参数。
  5. 客户端方法应该简单地填充您的新消息部分或更新新消息的数量。
  6. 当用户收到一条消息并且您已将其插入到DB中或仅在中心中接收到它而没有任何持久性时,您可以通过连接ID将此消息发送到单个客户端。这次您可能不会发送完整的消息,只是像消息计数更新或新消息摘录之类的东西。
  7. 以上内容将在客户端的notifynewmessage中通知,愉快的日子就要来了。

如果您需要现成的解决方案或工作示例,我建议您在github上fork一个现有的singalR repo或创建一个新的MVC 4应用程序,并将其放在github的项目中。在尝试过某些内容后出现的任何问题都会说服更多人在此处帮助您。


0

您可以从应用程序的任何位置向中心发送消息。请查看https://github.com/SignalR/SignalR/wiki/Hubs上的“从中心外广播”。

基本上,使用这种方法,您可以向所有客户端发送通知。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接