千家信息网

如何快速上手.NET 2.0 Sql Dependency

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章为大家展示了如何快速上手.NET 2.0 Sql Dependency,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。以SQL Server 2005上
千家信息网最后更新 2026年11月01日如何快速上手.NET 2.0 Sql Dependency

本篇文章为大家展示了如何快速上手.NET 2.0 Sql Dependency,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

以SQL Server 2005上实现为准,SQL Server 2000因为实现机制不同,请查阅相关资料。

步骤一:在SQL Server 2005上执行ALTER DATABASE SET ENABLE_BROKER;语句让相应的数据库启用监听服务,以便支持SqlDependency特性。

这条语句最好在数据库未执行任何事务的情况下执行。

步骤二:调用SqlDependency.Start(String strConnectionString)方法,在应用程序端启用依赖监听器。

该方法的参数为一个数据库的连接字符串,该数据库必须已经执行过步骤一的操作。

对于同一连接字符串,若已经执行过该语句,再次执行不会发生任何异常,但返回值会为False.

如果是在Web程序中使用,建议可以将该语句放在Application_Start事件中执行。

监听是基于数据库的,而依赖才可以基于表或者查询。

步骤三:该步骤分别有两种不同的做法。该阶段必须注意步骤。

方法A:建立连接对象,再创建一个SqlCommand实例,创建SqlCacheDependency实例,在这步之后再调用Command对象来获取数据(这个顺序很重要)。之后调用Cache的Insert语句建立一个依赖于一个具体查询数据集的Cache项。


SqlConnection conn = new SqlConnection(strConnection);

SqlCommand command = new SqlCommand(strCommandText, conn);

SqlCacheDependency dependency = new SqlCacheDependency(command);

// 注册方法到委托,该委托是

CacheItemRemovedCallback onRemove = new CacheItemRemovedCallback(RemovedCallback);

// 新增或修改一条缓存记录

Cache.Insert(strCacheKey, objAppCache, dependency, absoluteExpiration, slidingExpiration, CacheItemPriority.Default, onRemove);

方法B:建立连接对象,再创建一个SqlCommand实例,最后创建SqlDependency实例。定义SqlDependency的委托OnChange,当数据发生改变时做出相应的处理(比如清除Cache)。

SqlConnection conn = new SqlConnection(strConnection);

SqlCommand command = new SqlCommand(strCommandText, conn);

SqlCacheDependency dependency = new SqlCacheDependency(command);

dependency.OnChange += new OnChangeEventHandler(Dependency_OnChange);

注意事项:

不知道是不是还存在BUG,我在项目开发中遇到一些奇怪的现象。同样的代码,在有的机器上运行则能捕捉到变化,有的则完全没反应;也有时会出现Cache刚建立就反复发生依赖改变的事件。偶尔Cache还会数据发生变化却不引发事件。

但从最终项目实施的情况看,似乎都只是某些机器环境造成的不确定因素?这个无法确定。不过起码数据库端是否正常启用,可以通过SQL Server Profiler来查看监视。

上述内容就是如何快速上手.NET 2.0 Sql Dependency,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

数据 数据库 步骤 方法 语句 实例 事件 对象 委托 监听 不同 内容 字符 字符串 情况 技能 机器 知识 程序 项目 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网新科技 互联网科技工作委员会 互联网属科技 互联网和科技创新 互联网巨头科技公司 互联网 的科技创新 浩特互联网科技 科技伦理 互联网公司 互联网巨头投资的硬核科技 华中科技有哪些互联网大佬 安控科技rtu产品工业互联网 互联网公司科技股 速维有品互联网信息科技(苏州)有限公司 中国互联网公司排名锤子科技 佛山市翊博互联网络科技有限公司 互联网科技的全部知识 山东子淼互联网科技有限公司 互联网科技接地气 求路客互联网科技电话 互联网 科技节活动 微视频大赛 河南云网互联网络科技有限公司 易互联网科技有限公司 万达互联网科技 融贸通互联网科技 开启互联网科技时代小说 来此购互联网科技有限公司 成都互联网科技公司工作好不好 互联网科技年终奖 银川新华互联网科技学校是国营吗 广东猫王互联网科技有限公司电话
0