用 ASP.NET缓冲技术提高Web网站性能

ZDNet软件频道 时间:2006-08-02 作者:Tony Patton |  我要评论(7)
本文关键词:TonyPatton dotnettrend
ASP.NET中包括的缓冲支持特性,可以很简单地融入你的网页应用中,从而提升其性能。

虽然网页发展的首要目标是功能性,但是性能似乎也紧随其后,位居第二。因为,毕竟一个站点,即使功能再强大,如果不能使用的话,也没有任何意义。对经常访问网页的数据进行缓冲毋庸置疑是影响一个网页应用性能的一个方面。ASP.NET中包括的缓冲支持特性,可以很简单地融入你的网页应用中,从而提升其性能。

ASP.NET 1.x 提供了三种方式将缓冲融入网页应用中:

  • 页面输出缓冲:使你能够缓冲动态产生的页面内容。
  • 页面片段缓冲: 缓冲部分网页。
  • 页面数据缓冲: 有计划地缓冲页面内的数据/对象。

在这篇文章中,我将集中讨论页面输出缓冲。

页面输出缓冲

当整个页面内容相对静止适合缓冲时,这样页面就可以进行输出缓冲。 缓冲经常访问网页的数据会增加巨大的通过量。它的运作方式是利用缓存里的所有后续请求来动态生成原始页面的请求。其结果是这种负荷较大的应用程序会获得性能的巨大提高。

缓冲一个网页的主要难题是有效期。它决定了网页内容在从原始资料重新加载之前,能够在缓存中保留的时间。它可以通过代码或者页面级输出缓冲指令OutputCache进行访问。它包括了用来指定页面缓冲时间(以秒计)的Duration参数。除了Duration之外,输出缓冲指令还包括以下属性:

  • Location: 缓存的位置。有效数值包括 AnyClientDownstream NoneServer、和ServerAndClient。缺省值为 Any
  • CacheProfile: 与网页有关的缓存设置的名称。是一个可选元素,没有缺省值。
  • NoStore: 用来表示是否阻止敏感数据的进行二级存储的逻辑值。
  • Shared: 决定用户控制输出是否能够被多个页面共用的逻辑值。
  • VaryByCustom: 用来表示自定义输出缓冲要求的文本。
  • VaryByHeader: 用来改变输出缓存的、用分号隔开的HTTP 标头列表。
  • VaryByParam: 用来改变输出缓存的、用分号隔开的字符串列表。

经常用到的关键元素是Duration VaryByParam,后者使你能够在不同参数基础上创建不同的页面级缓存。

这些参数和与 HTTP GET请求一起发送的查询字符串相对应,或者和与HTTP POST请求一起发送的参数构成新的参数。当该属性被设置成多个参数时,输出缓冲中就包括了不同的、用于每个指定参数组合的被请求文本。可能出现的值包括无(none)、星号(*),以及任意一个有效的查询字符串或者POST参数名。


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