如何:以编程方式设置页的可缓存性
更新:2007 年 11 月
页或用户控件的可缓存性指的是某一页是否能在该页的响应生命周期内缓存在某个设备上。缓存页的这些设备包括发出请求的浏览器,响应请求的 Web 服务器,以及请求或响应流中任何可执行缓存的设备,如代理服务器。
如果应用程序将根据运行时条件(如读取请求标头)确定可缓存性,您可以通过编程方式设置可缓存性。有关更多信息,请参见 设置页的可缓存性。
以编程方式设置页的可缓存性
在页的代码中,调用 Response 对象的 Cache 属性的 SetCacheability 方法。
下面的代码将 Cache-Control HTTP 标头设置为 Public。
Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetCacheability(HttpCacheability.Public)
如果将 NoCache 或 ServerAndNoCache 传递到 SetCacheability 方法以防止请求的浏览器在它自己的历史记录文件夹中缓存某一页,那么任何时候当某个用户单击“后退”或“前进”按钮时,都会请求响应的新版本。通过对 Cache 属性调用 SetAllowResponseInBrowserHistory 方法,并为 allow 参数传递 true 值,可以按条件重写此行为。
如果将可缓存性设置为除 NoCache 或 ServerAndNoCache 之外的任何值,ASP.NET 将忽略由 SetAllowResponseInBrowserHistory 方法设置的值。