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

代码阅读总结之Fitch and Mather 7.0(自定义字符串缓存页)

2005-10-18 13:29 549 查看
前段时间工作比较忙,没时间读代码,这几天有空,正好又来静读代码了.

在Menus_ascx中我们看到用了缓存自定义字符串"authenticated"

<%@ OutputCache Duration="86400" VaryByParam="None" VaryByCustom="authenticated" %>
注意: @OutputCache 指令与必需的 Duration 和 VaryByParam 属性包括在一起。必须将 Duration 属性设置为大于零的任意整数。如果不想使用 VaryByParam 属性提供的功能,请将其值设置为 None

在Global.asax文件中重写GetVaryByCustomString方法

此处是根据用户是否验证来缓存用户控件,即一个通过验证的用户控件,一个未验证的用户控件

1public override string GetVaryByCustomString(HttpContext context, string custom)
2public override string GetVaryByCustomString(HttpContext context, string custom)
2 string browserType=context.Request.Browser.Type;
4
5 //custom自定义字符串,它指定哪个缓存的响应被用于响应当前请求
6 //有可能多个页面都定义了自定义字符串,这时可以依靠参数custom来具体区分
7 if ( custom=="ietype" )
8 if ( browserType=="IE6" )
9 //IE6浏览器返回字符
10 return browserType;
11 else
12 if ( browserType=="Opera7" )
13 //Opera7浏览器返回字符
14 return browserType;
15 else
16 //其他类型的浏览器返回字符
17 return browserType;
18
19 return browserType;
20 }

这样设置好后,

当我用IE6访问页面WebForm3.aspx时,服务器缓存这个类型浏览器的页面600秒

当我再用Opera7.54访问页面WebForm3.aspx时,服务器又缓存这个类型浏览器的页面600秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: