.NET2.0SqlDependency快速上手指南
此文以SQL Server 2005上实现为准,SQL Server 2000因为实现机制不同,请查阅相关资料。
步骤一:在SQL Server 2005上执行ALTER DATABASE <DatabaseName> 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);
& |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |