将数据从Sql Server推送到桌面应用程序

时间:2012-09-11 14:17:00

标签: c# .net sql-server sql-server-2005 signalr

我有一个非常简单的.net 4桌面应用程序,用c#编写,需要显示插入到SQL Server(2005)上的表中的一些数据。数据本身非常简单,只有一行大约10列(主要是其他数据的数量)。

我可以每隔x间隔从应用程序轮询一次sql server,但我的首选是让sql server将数据推送到这个应用程序,如果可能的话,因为“新数据”的时间通常是不规则的。 / p>

简而言之,我想知道这是否可行。在发布这个问题之前做了一些研究,我发现了一些可能性。

1)SignalR:我发现this这个问题似乎很有希望,但这似乎是在Web应用程序而不是桌面应用程序的上下文中。在审查了signalR wiki之后,在我看来它需要某种网络服务或其他我想要避免的http连接。

2)来自this问题的Sql server更改跟踪。首先,我不是在sql 2008上,所以我假设我必须安装或配置它(这不是问题),但我也不确定这是否能提供我需要的东西。

我还要提到的是,这个客户端应用程序可能存在于100多个不同的PC上,所有这些都需要在数据更改时得到通知。

那么,这样的事情可能吗?如果问题有点模糊,我会道歉 - 并提前感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

SQLDependency类应该适应您所指的场景。 虽然我没有使用此任何个人经验,但this article似乎与您的方案一致