我有一个用 c# 编写的非常简单的 .net 4 桌面应用程序,它需要显示一些插入到 SQL Server (2005) 表中的数据。数据本身很简单,只有一行大约 10 列,(主要是其他数据的计数)。
我可以每隔 x 间隔从应用程序中轮询 sql server,但我更喜欢让 sql server 在可能的情况下将数据推送到该应用程序,因为“新数据”的时间通常是不规则的。
简而言之,我想知道这是否可能。在发布这个问题之前做了一些研究,我发现了一些可能性。
1) SignalR:我找到了this这个问题看起来很有希望,但这似乎是在网络应用程序而不是桌面应用程序的上下文中。在查看 signalR wiki 时,我觉得它需要某种网络服务或其他我希望避免的 http 连接。
2) Sql 服务器更改跟踪,来自 this题。首先,我没有使用 sql 2008,所以我假设我必须安装或配置它(这不是问题),但我也不确定这是否会提供我需要的东西。
我还要提到,此客户端应用程序可能存在于 100 多台不同的电脑上,这些电脑都需要在数据更改时得到通知。
那么,这样的事情可能吗?如果问题有点含糊,我深表歉意 - 在此先感谢您的帮助!
最佳答案
SQLDependency
类应该迎合您所指的场景。
虽然我没有任何个人使用经验,this article好像很符合你的场景
关于c# - 将数据从 Sql Server 推送到桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12371805/