ASP.NET2.0实现依赖Oracle的缓存策略

文章作者 100test 发表时间 2007:03:14 13:46:46
来源 100Test.Com百考试题网


ASP.NET 2.0中的缓存提供了对SQL依赖项的支持,也就是说当SQL SERVER数据库中的表或行中的数据被更改后,缓存中的页面就失效,否则,页面输出可一直保留在缓存当中。这确实为程序员提供了方便。但微软一向很小家子气,只为使用自家产品SQL SERVER的程序员提供了方便,那些用Oracle数据库的ASP.NET程序员怎么办呢?

其实不用着急,因为ASP.NET 2.0中的缓存还提供了对文件依赖项的支持,也就是缓存依赖于某个文件,该文件被修改后,缓存中的页面就失效。只要巧妙利用ASP.NET 2.0的文件依赖项缓存策略和Oracle中的触发器,就可轻松实现依赖Oracle的缓存策略。思路很简单,先将页面的缓存策略设置为依赖某一个文件,再为Oracle中需要依赖的表添加一个触发器,当表中的数据被更改时,修改缓存所依赖的文件中的内容。

下面以一个小例子来具体说明:

试验目的:Default.aspx页面的缓存依赖于Oracle数据库中SCOTT用户的DEPT表,该表中数据被更改后,缓存中的页面失效。缓存的过期时间为120秒。

一、设置网站页面的缓存依赖于文件TextFile.txt

1、打开Visual Studio 2005,在E:\\CSharp\\CacheByOracleDependncy目录下新建一个WEB项目,在其Default.aspx页面上添加一个Label控件,显示页面生成的时间,以判断刷新时页面是否为重新生成的,并设置页面缓存依赖于文件E:\\CSharp\\CacheByOracleDependncy\\TextFile.txt。

protected void Page_Load(object sender, EventArgs e)

{

 //显示当前时间,以便判断是否为缓存中页面

 this.Label1.Text = "CacheByOracleDependency:"   DateTime.Now.ToString().

 //缓存依赖于文件TextFile.txt

 string fileDependencyPath = Server.MapPath("TextFile.txt").

 Response.AddFileDependency(fileDependencyPath).

 // 设置缓存的过期时间为120秒。

 Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)).

 Response.Cache.SetCacheability(HttpCacheability.Public).

 Response.Cache.SetValidUntilExpires(true).

}

2、在E:\\CSharp\\CacheByOracleDependncy目录下新建一个TextFile.txt文件。


相关文章


ORACLE应用中常见的傻瓜问题1000问(四)
ORACLE考试1Z0-001:SQLandPL_SQL大纲
基于OracleADF的应用程序开发过程(2)
ORACLE考试Oracle8i:备份与恢复大纲
ASP.NET2.0实现依赖Oracle的缓存策略
ORACLE应用中常见的傻瓜问题1000问(五)
Oracle数据库基本知识及问题解决
如何掌握Oracle中的时间间隔型数据(1)
ORACLE考试Oracle8i:性能及其调优大纲
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛