代码之家  ›  专栏  ›  技术社区  ›  JoelFan

ASP.NET中的缓存问题

  •  1
  • JoelFan  · 技术社区  · 14 年前

    我看到了一些使用浏览器缓存的静态页面的问题,这是不需要的。为了防止缓存,我正在设置

    <clientCache cacheControlMode="DisableCache" />
    

    在相关 <location> web.config中的标记

    如果我在Firebug中打开页面(在 选项卡),我看到响应头 Cache-Control: no-cache 是正确的,但响应的状态是 304未修改 !这不是矛盾吗?我如何才能让它停止缓存(即总是发送包含内容的200)?

    1 回复  |  直到 14 年前
        1
  •  4
  •   JoelFan    14 年前

    根据RFC( http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1 ,第14.9.1节)缓存控制:无缓存通知浏览器不要使用缓存的内容 无需首先与服务器重新验证 . 这就是为什么你会看到304,我想你在找 Cache-Control: no-store .

    我不确定您是否可以通过配置文件发送no store。但是,您可以在响应中显式设置头:

    Response.Cache.SetNoStore();
    

    编辑: (由OP)

    我要找的是:

    <clientCache cacheControlCustom="no-store" />