当我的数据库(SQL Server 2008)的一个表中添加了新记录时,我需要通知我的软件(C#、.NET 3.5)的用户(大约 100 个客户端)。如果我理解正确,这种操作应该符合缓存失效的条件,这正是它的SqlDependency
用途,如果我错了,请纠正我。
为此,我可以看到 2 个选项:
SqlDependency
这将使我能够收到几乎实时的通知。- 通过一些计时器检查表。
但我以前从未使用SqlDependency
过,也不知道它到底有多可靠?我的意思是,我可以让我的应用程序SqlDependency.Start()
在一天开始时运行,并确保它无论如何都会监听通知 10 个小时吗?当然,我知道我必须对服务查询通知做出正确反应。就数据库性能而言,与计时器查询相比,这样做真的更好吗?数据库实际上有什么显着差异吗?
我正在考虑使用SqlDependency
主要是因为我不确定让我的所有用户每 5 分钟打开连接并查询同一个数据库中的同一个表是一个最佳主意。