我爱Aspx >> Asp.Net >> 缓存 ASP.NET 页的某些部分缓存 ASP.NET 页的某些部分
1.仅当用户控件回发并自行处理回发时,根据查询字符串或窗体 POST 参数改变到缓存的用户控件输出才有效。您不能回发到包含页并预期这种类型的用户控件输出缓存正常运行。
2.当使用 @ OutputCache 指令时,您必须包括一个 VaryByParam 属性,否则将发生分析器错误。如果不想使用 VaryByParam 属性所提供的功能,请将其值设置为 None。有关使用 VaryByParam 属性的更多信息,请参见缓存页的多个版本。
3.如果以编程方式为页设置到期时间,则您还必须为缓存的页设置 Cache-Control 标头。使用 HttpCachePolicy.SetCacheability 方法将 HttpCacheability 枚举设置为 Public。
Response.Cache.SetCacheability(HttpCacheability.Public);
4.OutputCache的属性
Duration 页或用户控件进行缓存的时间(以秒计)。在页或用户控件上设置该属性为来自对象的 HTTP 响应建立了一个过期策略,并将自动缓存页或用户控件输出。 注意 该属性是必需的。如果未包含该属性,将出现分析器错误。
Location OutputCacheLocation 枚举值之一。默认值为 Any。
警告 包含在用户控件(.ascx 文件)中的 @ OutputCache 指令不支持此属性。
Shared 一个布尔值,确定用户控件输出是否可以由多个页共享。默认值为 false。有关详细信息,请参见备注部分。 注意 包含在 ASP.NET 页(.aspx 文件)中的 @ OutputCache 指令不支持此属性。
VaryByCustom 表示自定义输出缓存要求的任意文本。如果赋予该属性的值是 browser,缓存将随浏览器名称和主要版本信息的不同而不同。如果输入了自定义字符串,您必须在应用程序的 Global.asax 文件中重写 HttpApplication.GetVaryByCustomString 方法。
VaryByHeader 分号分隔的 HTTP 标头列表,用于使输出缓存发生变化。当将该属性设为多标头时,对于每个指定的标头,输出缓存都包含一个请求文档的不同版本。 注意 设置 VaryByHeader 属性在所有 HTTP 1.1 缓存中启用缓存项,而不仅限于 ASP.NET 缓存。用户控件中的 @ OutputCache 指令不支持此属性。
VaryByParam 分号分隔的字符串列表,用于使输出缓存发生变化。默认情况下,这些字符串与用 GET 方法属性发送的查询字符串值对应,或与用 POST 方法发送的参数对应。当将该属性设置为多参数时,对于每个指定的参数,输出缓存都包含一个请求文档的不同版本。可能的值包括 none、* 和任何有效的查询字符串或 POST 参数名称。 警告 在输出缓存 ASP.NET 页时,该属性是必需的。它对于用户控件也是必需的,除非已经在用户控件的 @ OutputCache 指令中包含了 VaryByControl 属性。如果没有包含它,则发生分析器错误。如果您不想使缓存内容随任何指定参数发生变化,请将该值设为 none。如果要使输出缓存根据所有参数值发生变化,请将属性设置为 *。
Ҷƪл˵?
c#教程第一讲 开始.net探索之旅[04-21]
.net课件之多线程[04-21]
五子棋.NET源码下载[04-21]
跟我一起学.net资料(二)[04-21]
跟我一起学习.net资料(一)[04-21]
我的学习作品之酒店 管理系统 (V..[04-21]
Visual C#.NET编程精粹150例[03-18]
最优化ASP.NET ——面向对象开发..[03-18]
ASP.NET 2.0编程珠玑—— 来自MV..[03-18]
Microsoft .NET Framework 3.0 可..[03-18]
COM,COM+区别[04-21]
使用C#开发COM+组件[04-21]
C# 注册COM+组件步骤[04-21]
c#相关的知识[04-21]
爱情……砂砾[04-21]
标题未定[04-21]
爱,用一滴泪去结束。用一生去想念..[04-21]
戒指年[04-21]
一个人的孤单[04-21]
选择离开……[04-21]