您的位置:首页 > 编程语言 > ASP

asp.net 2.0 和 sql 缓存依赖

2012-05-27 17:27 483 查看

asp.net 2.0 和 sql 缓存依赖

网站访问量大,数据量大而变更不是那么频繁时,使用缓存是提高网站页面执行速度的有效手段。为了清晰理解,掌握sql缓存的使用,我制作了一个demo

在制作这个demo的时候,碰到了一些问题。

1,原来sql server 2005 developer edition 并不支持sql 缓存。只有企业版才支持。所以要用aspnet_regsql.exe 工具开启缓存机制,或者使用程序来开启。

2,使用aspnet_regsql.exe开启缓存机制的方法:

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -S localhost -U

sa -P sa -d Northwind -ed

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -S localhost -U

sa -P sa -d Northwind -t employee -et

3,使用SqlCacheDependencyAdmin.EnableNotifications方法开启缓存机制。

try {

// Instantiate SqlDep using the SqlCacheDependency constructor.

SqlDep = new SqlCacheDependency("Northwind", "Categories");

}

// Handle the DatabaseNotEnabledForNotificationException with

// a call to the SqlCacheDependencyAdmin.EnableNotifications method.

catch (DatabaseNotEnabledForNotificationException exDBDis) {

try {

SqlCacheDependencyAdmin.EnableNotifications("Northwind");

}

// If the database does not have permissions set for creating tables,

// the UnauthorizedAccessException is thrown. Handle it by redirecting

// to an error page.

catch (UnauthorizedAccessException exPerm) {

Response.Redirect(".\\ErrorPage.htm");

}

}

// Handle the TableNotEnabledForNotificationException with

// a call to the SqlCacheDependencyAdmin.EnableTableForNotifications method.

catch (TableNotEnabledForNotificationException exTabDis) {

try {

SqlCacheDependencyAdmin.EnableTableForNotifications("Northwind", "Categories");

}

// If a SqlException is thrown, redirect to an error page.

catch (SqlException exc) {

Response.Redirect(".\\ErrorPage.htm");

}

}

完整的程序请参考微软的实例:http://msdn.microsoft.com/en-us/library/system.web.caching.sqlcachedependency.aspx

如果不支持缓存,会收到如下异常信息:

The database 'dbemployee' is not enabled for SQL cache notification.

To enable a database for SQL cache notification, please use the System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications method, or the command line tool aspnet_regsql. To use the tool, please run 'aspnet_regsql.exe -?' for more information.

3,需要在web.config配置数据库连接和缓存依赖数据库条目。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐