asp.net mvc输出缓存的一些问题

时间:2013-09-15 01:21:21

标签: asp.net-mvc asp.net-mvc-4 caching outputcache

我正在使用asp.net mvc 4输出缓存,由于某种原因我无法使其正常工作。我期待做的是标准,但输出缓存永远不会开始。我认为这可能是由于cookie被更改,因此没有缓存。我想在客户端上输出缓存。我的所有网站都是https,所有请求都在https下。

我有些问题:

  1. 如何设置输出缓存以忽略Cookie中的任何更改?
  2. 我应该在响应标头中查找,以了解输出缓存是否正常工作?
  3. 将位置设置为ServerAndClient - 我是否正确说这导致在服务器和客户端浏览器中进行缓存?
  4. 感谢。

    更多信息:

    我通过fiddler注意到的是http标头请求包含Cache-Control:max-age = 0但我不知道如何或为什么设置它。

1 个答案:

答案 0 :(得分:0)

  1. 默认情况下,缓存属性会忽略cookie!

  2. 您可以在控制器中设置断点以查看输出缓存是否有效,似乎您知道在哪里查看! “...包含Cache-Control:max-age = 0但是......”

  3. 是的,这是正确的

  4. 我建议您在缓存过滤器上设置持续时间


    查看web.config文件,看看cacheControlMode属性是否设置为奇怪的东西! 如果它是s-maxage = 0,那是因为共享代理

    在要缓存的控制器上设置这样的属性

    [OutputCache( Duration = 360 )]