ASP.NET MVC - 在客户端缓存页面

oje*_*jek 2 asp.net-mvc outputcache asp.net-mvc-3

我有这样缓存的代码:

[OutputCache(Duration="3600", Location=OutputCacheLocation.Client)]
Run Code Online (Sandbox Code Playgroud)

现在,我不知道这个输出缓存是如何工作的.它究竟在哪里保留页面的副本?什么是之间的差异OutputCacheLocation.ClientOutputCacheLocation.Browser

Dar*_*rov 9

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

存储高速缓存的位置由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枚举值的组合.