2.0SqlDependency快速上手指南
2008-04-28 08:36
169 查看
此文以2005上实现为准,SQLServer2000因为实现机制不同,请查阅相关资料。
步骤一:在SQLServer2005上执行ALTERDATABASE<DatabaseName>SETENABLE_BROKER;语句让相应的启用监听服务,以便支持SqlDependency特性。
这条语句最好在数据库未执行任何事务的情况下执行。
步骤二:调用SqlDependency.Start(StringstrConnectionString)方法,在应用程序端启用依赖监听器。
该方法的参数为一个数据库的连接字符串,该数据库必须已经执行过步骤一的操作。
对于同一连接字符串,若已经执行过该语句,再次执行不会发生任何异常,但返回值会为False.
如果是在Web程序中使用,建议可以将该语句放在Application_Start事件中执行。
监听是基于数据库的,而依赖才可以基于表或者查询。
步骤三:该步骤分别有两种不同的做法。该阶段必须注意步骤。
方法A:建立连接对象,再创建一个SqlCommand实例,创建SqlCacheDependency实例,在这步之后再调用Command对象来获取数据(这个顺序很重要)。之后调用Cache的Insert语句建立一个依赖于一个具体查询数据集的Cache项。
SqlConnectionconn=newSqlConnection(strConnection);
SqlCommandcommand=newSqlCommand(strCommandText,conn);
SqlCacheDependencydependency=newSqlCacheDependency(command);
//注册方法到委托,该委托是
CacheItemRemovedCallbackonRemove=newCacheItemRemovedCallback(RemovedCallback);
//新增或修改一条缓存记录
Cache.Insert(strCacheKey,objAppCache,dependency,absoluteExpiration,slidingExpiration,CacheItemPriority.Default,onRemove);
方法B:建立连接对象,再创建一个SqlCommand实例,最后创建SqlDependency实例。定义SqlDependency的委托OnChange,当数据发生改变时做出相应的处理(比如清除Cache)。
SqlConnectionconn=newSqlConnection(strConnection);
SqlCommandcommand=newSqlCommand(strCommandText,conn);
SqlCacheDependencydependency=newSqlCacheDependency(command);
dependency.OnChange+=newOnChangeEventHandler(Dependency_OnChange);1
步骤一:在SQLServer2005上执行ALTERDATABASE<DatabaseName>SETENABLE_BROKER;语句让相应的启用监听服务,以便支持SqlDependency特性。
这条语句最好在数据库未执行任何事务的情况下执行。
步骤二:调用SqlDependency.Start(StringstrConnectionString)方法,在应用程序端启用依赖监听器。
该方法的参数为一个数据库的连接字符串,该数据库必须已经执行过步骤一的操作。
对于同一连接字符串,若已经执行过该语句,再次执行不会发生任何异常,但返回值会为False.
如果是在Web程序中使用,建议可以将该语句放在Application_Start事件中执行。
监听是基于数据库的,而依赖才可以基于表或者查询。
步骤三:该步骤分别有两种不同的做法。该阶段必须注意步骤。
方法A:建立连接对象,再创建一个SqlCommand实例,创建SqlCacheDependency实例,在这步之后再调用Command对象来获取数据(这个顺序很重要)。之后调用Cache的Insert语句建立一个依赖于一个具体查询数据集的Cache项。
SqlConnectionconn=newSqlConnection(strConnection);
SqlCommandcommand=newSqlCommand(strCommandText,conn);
SqlCacheDependencydependency=newSqlCacheDependency(command);
//注册方法到委托,该委托是
CacheItemRemovedCallbackonRemove=newCacheItemRemovedCallback(RemovedCallback);
//新增或修改一条缓存记录
Cache.Insert(strCacheKey,objAppCache,dependency,absoluteExpiration,slidingExpiration,CacheItemPriority.Default,onRemove);
方法B:建立连接对象,再创建一个SqlCommand实例,最后创建SqlDependency实例。定义SqlDependency的委托OnChange,当数据发生改变时做出相应的处理(比如清除Cache)。
SqlConnectionconn=newSqlConnection(strConnection);
SqlCommandcommand=newSqlCommand(strCommandText,conn);
SqlCacheDependencydependency=newSqlCacheDependency(command);
dependency.OnChange+=newOnChangeEventHandler(Dependency_OnChange);1
相关文章推荐
- Eclipse快速上手指南之使用ANT
- Scala开发者的Spring-Boot快速上手指南 02:Scala惯用法
- Eclipse快速上手指南之使用JUnit
- Eclipse快速上手指南 (1)
- Spring.net快速上手指南
- Eclipse快速上手指南之环境搭配
- Eclipse快速上手指南之使用CVS
- Eclipse快速上手指南之使用CVS
- [教程]正则快速上手指南:3 – 零宽家族的那些事
- Sqlite快速上手使用指南
- RKE快速上手指南:开源的轻量级K8S安装程序
- RKE快速上手指南:开源的轻量级K8S安装程序
- Python快速上手JSON指南
- 密码学C语言函数库——Miracl库快速上手中文指南(VC)
- UnityShader快速上手指南(四)
- Eclipse快速上手指南之使用CVS
- Swift Package Manager快速上手指南(一):环境搭建
- Unity3D开发者快速上手Unreal Engine 4指南
- 在 ASP.NET 環境下使用 Memcached 快速上手指南