前言
本文主要是对《ASP.NET 2.0开发指南》——<数据缓存>章节内容的提取并略有补充。
参考资料
1. 《ASP.NET 2.0开发指南》
2. .NET 2.0 SqlDependency快速上手指南
支持数据库
SQL SERVER 7.0/2000/2005版本
正文
一、SQL SERVER 7.0/2000和SQL SERVER 2005的简介及比较
1.1 SQL SERVER 7.0/2000
SQL SERVER 7.0/2000没有提供内置的支持数据缓存依赖的功能,所以只能通过采用添加特定数据库表、触发器等方式,通过后台不断轮询数据库来检查数据更改。当在数据表上执行INSERT、UPDATE、 DELETE操作时将自动发出更改通知,所以只能监测到表级,具体到哪一行是没法跟踪的。
使用方法步骤:
1.1.1 使用aspnet_regsql命令行或SqlCacheDependencyAdmin来配置连接数据库。
1.1.1.1 ALTER DATABASE <DatabaseName> SET ENABLE_BROKER;
aspnet_regsql -S <server> -U sa -P sa -d <database> -ed 启动数据库的数据缓存依赖功能
aspnet_regsql -S <server> -U sa -P sa -d <database> -t <table> -et 启动数据表的数据缓存依赖功能
1.1.1.2
SqlCacheDependencyAdmin.EnableNotifications(connectionString); //启动数据库的数据缓存依赖功能
SqlCacheDependencyAdmin.EnableTableForNotifications(connectionString,table); //启用数据表缓存
推荐这段代码写在Global.asax的Application_Start方法中,以便应用程序启动的时候就启用数据库和数据表的缓存依赖功能。
1.1.2 配置Web.config
<sqlCacheDependency enabled="true" pollTime="10000">配置在<sytem.web>下的<caching>结点下,例如:
粒度也可以很小
到行,到列都可以
轮询还是主动方式