【问题标题】:Cache aspx page returning an asset on client?缓存aspx页面在客户端返回资产?
【发布时间】:2011-02-02 00:51:27
【问题描述】:

如何在客户端缓存一个 aspx 页面调用?

aspx 页面返回一个资产,如下所示:

http://srv-edu-build/edumatic3/dev/RetrieveBlob.aspx?assetId=31809&assetFileId=9823

我们尝试过使用输出缓存,在后面的代码中使用缓存,但我们得到的唯一结果是服务器端缓存(通过 IIS7)。

在响应的标头中,缓存控制设置为公共,并设置过期时间(在输出缓存配置文件中设置为 14800)。

【问题讨论】:

  • 我有一个类似的问题 - 返回动态生成的图像的 aspx 页面。服务器缓存并且不会重新执行页面,但它会再次返回内容(完整文件而不是 304 状态)并且浏览器似乎根本没有缓存它。

标签: asp.net caching


【解决方案1】:

我想我已经找到了发生这种情况的原因,它是 bug in IE

如果使用Vary:* HTTP 响应标头,IE 无法缓存,但 IIS 默认返回它,因为它在 HTTP 1.1 规范中。

尝试将以下内容添加到您的 web.config:

<system.web> 
    <caching>
        <outputCache omitVaryStar="true" />
    </caching>
</system.web> 

【讨论】:

    猜你喜欢
    • 2012-02-16
    • 2011-03-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 2014-03-07
    • 1970-01-01
    相关资源
    最近更新 更多