3

在我们的 MVC 4 网络中,我希望系统在用户每次收到新消息时向他发送通知。那么当我的数据库发生变化时(例如:向表中添加新行),系统会向用户发送通知吗?

4

2 回答 2

2

这些是这样做的步骤:

  1. 按照signalR wiki 页面上的说明创建一个名为 myhub 的集线器
  2. 对于每个连接,您都有一个连接 ID,您可以使用它与用户 ID 相关联,或者您甚至可以将用户名作为参数传递给您的集线器方法。再次阅读上面的页面。您可以将任何参数添加到集线器上的方法中。
  3. 在服务器和客户端上创建一个方法来通知新消息。
  4. 服务器端方法应采用连接 ID 或用户名的参数。
  5. 客户端方法应该简单地填充您的新消息部分或更新新消息的数量。
  6. 当用户收到消息并且您已插入数据库或仅在集线器上收到消息而没有任何持久性时,您可以通过连接 ID 将此消息发送到单个客户端。这次您可能不会发送完整的消息,而只是发送 messagecountupdate 或 newmessage 摘录之类的内容。
  7. 以上将继续在客户和快乐的日子通知新消息

如果您需要现成的解决方案或工作示例,我建议您在 github 上创建一个现有的 singalR 存储库,或者创建一个新的 MVC 4 应用程序并将其放入 github 上的项目中。在你尝试过之后的任何问题都会说服更多的人在这里帮助你。

于 2013-02-03T05:07:56.293 回答
0

您可以从应用程序中的任何位置从集线器发送消息。查看https://github.com/SignalR/SignalR/wiki/Hubs上的“从集线器外部通过集线器进行广播”

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

于 2013-02-04T18:57:14.247 回答