运用ASP.NET的输出缓冲来存储动态页面

ZDNet软件频道 时间:2003-03-03 作者:BUILDER.COM |  我要评论()
本文关键词:
输出缓冲是ASP.NET一个有力的工具,它可以存储动态产生的页面响应。这样,就不必为对相同页面的多次请求而重复执行该页面,而只是返回缓冲中的结果。输出缓冲能够运用在两个级别—整个页面或者页面的一部分。

输出缓冲是ASP.NET一个有力的工具,它可以存储动态产生的页面响应。这样,就不必为对相同页面的多次请求而重复执行该页面,而只是返回缓冲中的结果。输出缓冲能够运用在两个级别—整个页面或者页面的一部分。在后一种情况中,被缓冲的那部分页面是一个嵌入的用户控件。页面缓冲非常聪明,它能够分类存储各种不同的输出结果,例如基于请求的URL、查询字符串或表单的POST参数,甚至是自定制的字符串。

@OutputCache命令

你可以用@OutputCache命令来声明控制资源缓冲的性能。这个命令支持一些属性,其中两个是托管的—Duration和VaryByParam。Duration属性以秒为单位指定了系统对页面缓冲的时间。VaryByParam属性允许根据GET查询字符串或表单的POST参数对缓冲的输出结果进行分类。如下声明对页面缓冲一分钟,而不管是什么GET或POST参数:

<%@ OutputCache Duration="60" VaryByParam="None" %>

@OutputCache支持六个属性,它们指定了缓冲的位置、持续时间,以及用来分类页面缓冲的参数。A列出了这些属性。

表A

属性

描述

Duration

页面或用户控件被缓冲的时间,以秒记。

Location

指定的一个合法的存储页面结果的路径。该属性值从枚举变量OutputCacheLocation中获取,默认为Any。

VaryByCustom

由分号隔开的一个字符串列表,用于根据用户定义字符串的浏览器类型而维护页面的各个不同的缓冲拷贝。

VaryByHeader

由分号隔开的一个HTTP阅读器列表。

VaryByParam

由分号隔开的一个字符串列表,代表查询字符串的值,它们是由GET方法发送的属性或由POST方法发送的参数。

VaryByControl

由分号隔开的一个字符串列表,代表完全限定的用户控件属性的名称。只被用来缓冲用户控件,而不能被用于ASP.NET页面。

上面提到过,VaryByParam属性是托管的。如果你忽略它的话,运行时就会抛出异常。VaryByParam属性不允许用空字符串作为其值,因此如果不需以参数分类,就把该属性设置为None。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134