【问题标题】:How do I send a notification to another user active when update?如何在更新时向另一个活跃的用户发送通知?
【发布时间】:2017-06-05 04:14:17
【问题描述】:

我有一个带有一个数据库的应用程序,它被许多用户使用。每当一位用户进行更改时,我们都会将更改保存到数据库中。

现在,我需要将此更改通知其他登录用户。如何做到这一点?

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

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

【问题讨论】:

  • 这是一个网络应用程序吗?您的客户端和数据库之间是否有服务层?
  • 不是 Web 应用程序,而是 windows 窗体应用程序老兄..

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


【解决方案1】:

您的直接选择是基于推送的通知,例如消息总线或已知 id 的轮询循环。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多