2

我有以这种方式缓存的代码:

[OutputCache(Duration="3600", Location=OutputCacheLocation.Client)]

现在,我不完全知道这个输出缓存是如何工作的。它究竟在哪里保存页面的副本?OutputCacheLocation.Client和之间有什么区别OutputCacheLocation.Browser

4

1 回答 1

9

它究竟在哪里保存页面的副本?

缓存的存储位置LocationOutputCacheAttribute. 在您的情况下,您设置Location=OutputCacheLocation.Client它会将缓存保留在客户端浏览器上。

OutputCacheLocation.Client 和 OutputCacheLocation.Browser 有什么区别?

OutputCacheLocation.Browser不存在。这是一个无效的值。枚举类型的文档OutputCacheLocation包含可能的值及其用法说明:

  • 任何- 输出缓存可以位于浏览器客户端(请求的来源)、参与请求的代理服务器(或任何其他服务器)或处理请求的服务器上。此值对应于 HttpCacheability.Public 枚举值。
  • 客户端- 输出缓存位于请求发起的浏览器客户端上。此值对应于 HttpCacheability.Private 枚举值。
  • 下游- 输出缓存可以存储在源服务器以外的任何支持 HTTP 1.1 缓存的设备中。这包括代理服务器和发出请求的客户端。
  • 服务器- 输出缓存位于处理请求的 Web 服务器上。此值对应于 HttpCacheability.Server 枚举值。
  • - 为请求的页面禁用输出缓存。此值对应于 HttpCacheability.NoCache 枚举值。
  • ServerAndClient - 输出缓存只能存储在源服务器或请求客户端。不允许代理服务器缓存响应。此值对应于 HttpCacheability.Private 和 HttpCacheability.Server 枚举值的组合。
于 2013-01-30T16:56:31.233 回答