虽然网页发展的首要目标是功能性,但是性能似乎也紧随其后,位居第二。因为,毕竟一个站点,即使功能再强大,如果不能使用的话,也没有任何意义。对经常访问网页的数据进行缓冲毋庸置疑是影响一个网页应用性能的一个方面。ASP.NET中包括的缓冲支持特性,可以很简单地融入你的网页应用中,从而提升其性能。
ASP.NET 1.x 提供了三种方式将缓冲融入网页应用中:
在这篇文章中,我将集中讨论页面输出缓冲。
当整个页面内容相对静止适合缓冲时,这样页面就可以进行输出缓冲。 缓冲经常访问网页的数据会增加巨大的通过量。它的运作方式是利用缓存里的所有后续请求来动态生成原始页面的请求。其结果是这种负荷较大的应用程序会获得性能的巨大提高。
缓冲一个网页的主要难题是有效期。它决定了网页内容在从原始资料重新加载之前,能够在缓存中保留的时间。它可以通过代码或者页面级输出缓冲指令OutputCache进行访问。它包括了用来指定页面缓冲时间(以秒计)的Duration参数。除了Duration之外,输出缓冲指令还包括以下属性:
经常用到的关键元素是Duration 和VaryByParam,后者使你能够在不同参数基础上创建不同的页面级缓存。
这些参数和与 HTTP GET请求一起发送的查询字符串相对应,或者和与HTTP POST请求一起发送的参数构成新的参数。当该属性被设置成多个参数时,输出缓冲中就包括了不同的、用于每个指定参数组合的被请求文本。可能出现的值包括无(none)、星号(*),以及任意一个有效的查询字符串或者POST参数名。