我有以这种方式缓存的代码:
[OutputCache(Duration="3600", Location=OutputCacheLocation.Client)]
现在,我不完全知道这个输出缓存是如何工作的。它究竟在哪里保存页面的副本?OutputCacheLocation.Client
和之间有什么区别OutputCacheLocation.Browser
?
我有以这种方式缓存的代码:
[OutputCache(Duration="3600", Location=OutputCacheLocation.Client)]
现在,我不完全知道这个输出缓存是如何工作的。它究竟在哪里保存页面的副本?OutputCacheLocation.Client
和之间有什么区别OutputCacheLocation.Browser
?
它究竟在哪里保存页面的副本?
缓存的存储位置Location
由OutputCacheAttribute
. 在您的情况下,您设置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 枚举值的组合。