我有一个用 c# 编写的非常简单的 .net 4 桌面应用程序,它需要显示一些插入到 SQL Server (2005) 上的表中的数据。数据本身很简单,只有一行大约 10 列,(主要是其他数据的计数)。
我可以每隔 x 间隔从应用程序轮询 sql 服务器,但我的偏好是让 sql 服务器尽可能将数据推送到此应用程序,因为“新数据”的时间通常是不规则的。
简而言之,我想知道这是否可能。在发布这个问题之前做一些研究,我发现了一些可能性。
1) SignalR:我发现这个问题看起来很有希望,但这似乎是在 Web 应用程序而不是桌面应用程序的上下文中。在查看 signalR wiki 后,在我看来,它需要某种 Web 服务或其他我希望避免的 http 连接。
2) Sql server change tracking, from this question。首先,我不在 sql 2008 上,所以我假设我必须安装或配置它(这不是问题),但我也不确定这是否能满足我的需要。
我还要提到,这个客户端应用程序可能存在于 100 多台不同的电脑上,所有这些电脑都需要在数据更改时得到通知。
那么,这样的事情可能吗?如果问题有点含糊,我深表歉意 - 并提前感谢您的帮助!