【问题标题】:Set image expire date in asp.net在 asp.net 中设置图像过期日期
【发布时间】:2010-01-30 19:42:05
【问题描述】:

当我获得主机时,在 Visual Studio 和 IIS7 中使用 asp.net。

我有一个充满图标的文件夹,这些图标很少更改并且在每个页面上都使用。有没有办法可以将某个目录设置为每 2 小时左右过期一次,这样我就可以减少对服务器的传入请求量?

【问题讨论】:

    标签: asp.net iis-7 image caching


    【解决方案1】:

    您在 IIS 中执行此操作。如果您使用的是 IIS 7,则可以在 web.config 中添加标头。它在 system.webServer 部分。

    <staticContent>
        <clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
    </staticContent>
    

    这将导致所有静态内容的 HTTP 标头过期设置为 2020 年。静态内容是指未通过 ASP.NET 引擎提供的任何内容,例如图像、脚本文件和样式表。

    或者要使用相对到期,使用这个:

    <staticContent>
        <clientCache cacheControlMaxAge ="2.00:00:00" cacheControlMode="UseMaxAge" />
    </staticContent>
    

    这将导致所有静态内容的 HTTP 标头过期设置为 2 天。

    【讨论】:

    • 我怎么说在 4 小时或每天的午夜后回来查看?我想要节日主题之类的。
    • 如果您想拥有随时更改图像的能力,有两种选择。 1)使用上面的方法,换图的时候把网址改一下,假期结束再改回来。 2) 将过期日期设置得更小。
    • 这看起来像是一个固定的日期。我不能将它设置为相对或使用代码来更改它吗?
    • 我添加了如何使其与我的答案相关
    • 作为一个信息:此设置似乎对内置开发服务器(至少 VS 2010 SP1)没有影响。如果不确定为什么它不起作用,请检查 IIS。
    猜你喜欢
    • 2016-07-04
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多