有时,您可能希望缓存某页,但是会基于请求为该页创建不同的版本。例如,根据查询字符串中传递的值,该页可能具有不同的输出。
ASP.NET 允许在输出缓存中缓存同一页的多个版本。输出缓存可能会因下列因素而异:
可以通过以下两种方法来缓存页输出的多个版本:使用 @ OutputCache 指令的属性以声明方式,或者使用 HttpCachePolicy 类的属性和方法以编程方式。
@ OutputCache 指令包括四个可用来缓存页输出的多个版本的属性:
HttpCachePolicy 类提供两个属性和一个方法,您可以通过它们以编程方式指定与以声明方式所能设置的缓存配置相同的缓存配置。使用 VaryByParams 和 VaryByHeaders 属性可以分别指定查询字符串参数和标头名称作为缓存策略改变依据。使用 SetVaryByCustom 方法可以定义要作为输出缓存改变依据的自定义字符串。
请参见