SQL Server 2005实现数据库缓存依赖 |
||||
本文标签:微软 SQL Server 2005 缓存依赖 使用方法和步骤如下: step1 检测是否已经启用ServiceBroker,检测方法:
--1表示已经启用0表示没有启用 step2 如果ServiceBroker没有启用,使用下面语句启用: ALTERDATABASE数据库名称SETENABLE_BROKER; step3 在实现基于服务的SQL数据缓存依赖过程中,需要显式调用SqlDependency.Start来启动接受依赖项更改通知的侦听器 。
step4 该步骤分别有两种不同的做法 。该阶段必须注意步骤 。
方法A:建立连接对象,再创建一个SqlCommand实例,创建SqlCacheDependency实例,在这步之后再调用Command对象来获取数据(这个顺序很重要) 。之后调用Cache的Insert语句建立一个依赖于一个具体查询数据集的Cache项 。
方法B:建立连接对象,再创建一个SqlCommand实例,最后创建SqlDependency实例 。定义SqlDependency的委托OnChange,当数据发生改变时做出相应的处理(比如清除Cache) 。
注意事项: 不知道是不是还存在BUG,我在项目开发中遇到一些奇怪的现象 。同样的代码,在有的机器上运行则能捕捉到变化,有的则完全没反应;也有时会出现Cache刚建立就反复发生依赖改变的事件 。偶尔Cache还会数据发生变化却不引发事件 。
但从最终项目实施的情况看,似乎都只是某些机器环境造成的不确定因素?这个无法确定 。不过起码数据库端是否正常启用,可以通过SQLServerProfiler来查看监视 。 |