在IIS8中部署时缓存不起作用

本文关键字:缓存 不起作用 部署 IIS8 | 更新日期: 2023-09-27 18:26:17

我们使用MVC4和Jquery Mobile开发Web应用程序。我们的要求是缓存所有的图像,jquery,css。因此,我在下面的代码中进行了尝试,它的工作原理很像魅力。

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

在我的视觉工作室,它的作品很棒。我可以捕捉所有的图像,脚本。

但当我部署在IIS8缓存中时,无法工作。我尝试了很多,但没有成功。请指导我。为什么在IIS中部署缓存时不起作用。

我正在使用IIS8。我注意到的一件事是,如果我通过点击部署的网站从IIS浏览,它会缓存所有内容。但是如果键入的url像10.111.151.88:8002没有在浏览器中缓存。

在IIS8中部署时缓存不起作用

至少我找到了答案。问题是我在global.asax 中有以下代码

    protected void Application_BeginRequest()
    {
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
        Response.Cache.SetNoStore();
    }

它删除了我所有的缓存,并使浏览器不缓存任何内容。

您几乎没有添加有关IIS配置的信息。以下指南可能有助于查找丢失的配置:配置IIS客户端缓存<客户端缓存>

我想您在设置公共HTTP响应标头中遗漏了一些内容。

IIS8中是否启用了静态和动态压缩?