Asp.net mvc 关于asp.net mvc输出缓存的几个问题

Asp.net mvc 关于asp.net mvc输出缓存的几个问题,asp.net-mvc,asp.net-mvc-4,caching,outputcache,Asp.net Mvc,Asp.net Mvc 4,Caching,Outputcache,我正在使用asp.net mvc 4输出缓存,由于某些原因,我无法让它工作。我希望做的是标准的,但输出缓存永远不会生效。我认为这可能是因为cookies被更改,因此没有缓存。我想要客户端上的输出缓存。我的所有站点都使用https,所有请求都使用https 我有一些问题: 如何设置输出缓存以忽略Cookie中的任何更改 我应该在响应头中查找什么来了解输出缓存是否工作 将位置设置为ServerAndClient-我这样说会导致服务器和客户端浏览器中的缓存,对吗 谢谢 进一步资料: 我通过fiddle

我正在使用asp.net mvc 4输出缓存,由于某些原因,我无法让它工作。我希望做的是标准的,但输出缓存永远不会生效。我认为这可能是因为cookies被更改,因此没有缓存。我想要客户端上的输出缓存。我的所有站点都使用https,所有请求都使用https

我有一些问题:

  • 如何设置输出缓存以忽略Cookie中的任何更改
  • 我应该在响应头中查找什么来了解输出缓存是否工作
  • 将位置设置为ServerAndClient-我这样说会导致服务器和客户端浏览器中的缓存,对吗
  • 谢谢

    进一步资料:

    我通过fiddler注意到http头请求包含缓存控制:max age=0,但我不知道如何或为什么将其设置为该值

  • 默认情况下,缓存属性忽略cookies

  • 您可以在控制器中设置断点,以查看输出缓存是否工作,似乎您知道在哪里查找!“…包含缓存控制:最大年龄=0,但…”

  • 是的,这是正确的

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


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

    在要缓存的控制器上设置如下属性

    [OutputCache( Duration = 360 )]
    

    谢谢你的信息。是的,我相信缓存控制:最大年龄=0是问题所在。你知道为什么会这样吗?