欢迎来到天天文库
浏览记录
ID:51079715
大小:302.00 KB
页数:25页
时间:2020-03-18
《【精品】缓存技术.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、缓存技术一、教学要求通过学习ASP.NET2.0缓存技术的理论知识,掌握缓存技术的使用方法,能应用到实际问题当屮。二、教学目的掌握页面输出缓存的使用方法掌握页血部分缓存的使用方法掌握应用程序数据缓存的使川方法掌握缓存依赖的用法三、基础知识1・页面输出缓存页面输出缓存作为最简单的缓存形式,将己经生成的动/静态页面全部内容保存在服务器内存屮。当再有请求时,系统将缓存屮的相关数据直接输出,肓到缓存数据过期。这个过程屮,缓存不需要再次经过页面处理生命周期。这样可以缩短请求响应时品提高应用程序性能。很显然,页面输出缓存适用于不需要频繁更新数据,而歯用大量时间和
2、资源才能编译生成的页血。对于那些数据经常更新的页面,则不适用。默认情况下,ASP.NET2.0.0启用了页面输出缓存功能,但并不缓存任何响应的输出。开发人员必须通过设置,使得某些页面的响应成为缓存的一部分。设置页面输岀缓存可以使用以下两种方式:一种是使用@OutPutCache指令,另一种是使用页面输出缓存APL方法一:使用@OutPutCache指令使用@OutPutCache指令,能够实现对页面输出缓存的一般性需要。@OutPutCache指令在ASP.NET页或者页屮包含的用户控件的头部声明。这种方式非常方便,只需几个筒单的属性设置,就能够实现
3、页面的输出缓存策略。@OutPutCache指令声明代码如下:<%@OutputCacheCacheProfile=,,,5NoStore=,,TruelFalse,'Dui*atioii="#ofseconcis"Shared二'TiuelFalse"Location=,,AnylClientlDovvnstreamlServerlNonelServerandClient,"SqlDependency=,,database/tablenamepairlCommandNotification"VaryByContTol="controlname"Va
4、ryByCustom二''browserlcustomstring"VaryByHeader二"headers"VaryByParam=,,parametername,,%>如上所示,在@OutPutCache指令屮,共包括10个属性,下面简要介绍以上属性的基木概念。(1)CacheProfile用于定义与该页关联的缓存设置的名称。是可选属性,默认值为空字符(")需要注意的是,包含在用户控作屮的@OutPutCache指令不支持此属性。在页面屮指定此属性时,属。性值必须与Web.config文件6己置节下的o
5、utputCacheProfiles元素中的一个可用项的名称匹配。如果此名称与配置文件项不匹配,将引发异常。(2)Nostore该属性定义一个布尔值,用于决定是否阻止敏感信息的二级存储。需要注意的是,包含在用户挂件屮的@OutPutCache指令不支持此属性。将此属性设置为trUe等效于在请求期间执行代码aResponse.Cache.SetNostore();”。(1)Duration用于设置页曲或者用户控件缓存的时间。单位是秒。通过设置该属性,能够为来白对象的HTTh响应建立了一个过期策略,并将白动缓存页或用户控件输出。需要注意的是,Durato
6、n属性是必需的,否则将会引起分析器错误。(2)Shared该属性定义一个布尔值,用于确定用户控作输出是否可以由多个页共享。默认值为false。注意包舍在ASP.NET页屮的@@OutPutCache指令不支持此属性。(3)Location用于指定输出缓存项的位置。其属性值是OutPutCacheLocation枚举值,它们是Any、Client、Downstream>None、Server和ServerAndClient。默认值是人呼,表示输出缓存可用于所有请求,包括客户端浏览器、代理服务器或处理请求的服务器上。需要注意的是,包含在用户控作屮的@Ou
7、tPutCache指令不支持此属性。(4)SqlDependency该屈性标识一组数据库/表名称对的字符串值,页或控作的输出缓存依赖于这些名称对。需要注意:SqlCacheDependency类监视输岀缓存所依赖的数据库屮的表,因此,当更新表屮的项时,使用基于表的轮询将从缓存屮移除这些项。当通知(在SQLServer2005中)与ComniandNotification值—起使用时,最终将使用SqlDependency类向SQLServer2005服务器注册杳询通知。另外,SqlDependency属性的ComniandNotification值仅在
8、ASP.NET页屮有效。控作只能将基于表的轮询用于@OutPutCache指令。(5)VaryControl
此文档下载收益归作者所有