【发布时间】:2013-01-26 08:51:44
【问题描述】:
当我的数据库(SQL Server 2008)的一个表中添加了新记录时,我需要通知我的软件(C#、.NET 3.5)的用户(大约 100 个客户端)。如果我理解正确,这样的操作应该符合缓存失效的条件,这正是SqlDependency 的含义,如果我错了,请纠正我。
为此,我可以看到 2 个选项:
-
SqlDependency这将使我能够收到几乎实时的通知。 - 某个计时器正在检查表。
但我之前从未使用过SqlDependency,也不知道它到底有多可靠?我的意思是,我可以让我的应用程序在一天开始时运行SqlDependency.Start() 并确保它无论如何都会监听通知 10 小时吗?当然,我知道我必须对服务查询通知做出正确反应。就数据库性能而言,与计时器查询相比,这样做真的更好吗?数据库实际上有什么明显的区别吗?
我正在考虑使用SqlDependency,主要是因为我不确定让我的所有用户每 5 分钟打开一次连接并查询同一个数据库中的同一个表是否是一个最佳主意。
【问题讨论】:
-
一个问题——记录是如何添加到数据库中的?你有执行它们的服务吗?
-
记录是由第三方服务添加的,我无法控制为什么我唯一的选择是跟踪数据库本身。
标签: c# .net sql-server-2008 sqldependency