如何在更新时向另一个活动用户发送通知?

时间:2017-06-05 04:14:18

标签: c# visual-studio-2015 sql-server-2012

我有一个应用程序,有一个DB,很多用户都使用它。只要有一个用户进行更改,我们就会将更改保存到数据库中。

现在,我需要通知其他登录用户有关此更改的信息。怎么办呢?

我在想 - 当应用程序成功保存/更新数据库中的数据时,应用程序将通过更新或添加的新记录向连接的客户端发送通知。

我正在使用C#和SQL Server数据库。

1 个答案:

答案 0 :(得分:0)

您的直接选项是基于推送的通知,其中包含消息总线或已知ID上的轮询循环。

消息总线在发布 - 订阅模型上运行,适用于Windows应用程序。以MassTransit或MSMQ为出发点。那里有很多选择。它们可以组合成Web应用程序,使用基本上与客户端包装轮询循环的东西,如SignalR。

基于轮询的选项通常在计时器上工作,并对数据库执行快速时间戳或版本#检查,如果发现差异则重新加载记录。

基于推送更有效,但只通知支持的应用程序之间的更改。 (客户端到客户端)他们不会通过不作为发布者参与的应用程序检测到更改,也不会看到直接对数据库进行的更改。

基于轮询的选项涵盖所有更改,但通常较慢,并且需要具有版本信息的架构才能有效工作。