c# - 每当数据库更新时更新 C# 客户端

标签 c# mysql winforms ado.net

我正在将 MySQL 与 C#/Visual Studio 2008 一起使用。我需要知道任何方法,以便如果一个用户更新数据库,所有通过网络登录的用户都会收到已发生更改的通知。 如果我通过我的应用程序登录数据库,当时数据库中最新记录的序列号是10,然后我有权限的人更新了数据库中的记录,同时我收到通知数据库已更新为新记录。 常见的例子是当 friend 上线时 MSN Messenger 的提醒... 虽然我真的不想要那个弹出窗口,但警报功能就是这样的......

还有一件事想请教一下: 我想要一个功能,例如如果记录的状态未更新(例如超过 3 小时),那么我希望所有用户也能收到有关该问题的警报。所有记录都需要此功能,而不是专门针对新记录。

最佳答案

答案相当长,但最好的选择是 SqlCacheDependency .

您还可以使用一种称为“反向 AJAX”的技术,该技术用于 Google Mail 通知,并在此处进行了讨论:How does incoming mail notification on Gmail works?

除了这两个之外,您自己的其他选择据我所知是简单的服务器轮询。

此外,您还没有提到您的客户是什么。

它是互联网上的公共(public)网站吗?它是一个 Intranet 应用程序,还是一个 WPF 应用程序?

如果它是一个网站,那么最好是使用我提到的反向 AJAX 技术进行客户端回调。

关于c# - 每当数据库更新时更新 C# 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55623714/

相关文章:

C# 如何将字符附加到列表框 DisplayMember?

c# - 如何检查对象是矩形还是椭圆

c# - 如何区分用户控件在表单上加载和运行时加载

c# - 如何在 Windows Phone 7 中将 Toast 通知保存到本地数据库?

mysql - SQL 加入限制范围

c# - 无法在设计器 Visual Studio 2015 中打开表单(使用 C#)

c# - 使动态表单控件永久化

c# - Multifunction RegEx for parsing JCL variables - out of working 解决方案

php - 使用 mysql 在 php 中进行星级评分

php - 链接到 php 文件的 D3 代码将实际代码输出为网页上的文本