Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在IIS8中部署时缓存不工作_C#_.net_Asp.net Mvc_Iis_Browser Cache - Fatal编程技术网

C# 在IIS8中部署时缓存不工作

C# 在IIS8中部署时缓存不工作,c#,.net,asp.net-mvc,iis,browser-cache,C#,.net,Asp.net Mvc,Iis,Browser Cache,我们使用MVC4和Jquery Mobile开发Web应用程序。我们的要求是缓存所有图像、jquery和css。所以我尝试了下面的代码,它工作起来很有魅力 <staticContent> <clientCache cacheControlMaxAge ="2.00:00:00" cacheControlMode="UseMaxAge" /> </staticContent> 在我的visual studio中,它的工作非常出色

我们使用MVC4和Jquery Mobile开发Web应用程序。我们的要求是缓存所有图像、jquery和css。所以我尝试了下面的代码,它工作起来很有魅力

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

在我的visual studio中,它的工作非常出色。我可以捕获所有的图像,脚本

但当我部署在IIS8缓存中时,它不工作。我试了很多,但没有运气。请引导我。为什么在IIS中部署时缓存不工作


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

您几乎没有添加有关IIS配置的信息。以下指南可能有助于查找缺少的配置:


我猜您在设置通用HTTP响应头中遗漏了一些内容。

您几乎没有添加有关IIS配置的信息。以下指南可能有助于查找缺少的配置:


我猜您在设置通用HTTP响应头中遗漏了一些内容。

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

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

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

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

它删除了我所有的缓存并使浏览器不缓存任何东西。

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

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

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

谢谢。我使用IIS8。我注意到的一件事是,如果我通过单击部署的网站从IIS浏览,它会缓存所有内容。但如果键入的url(如10.111.151.88:8002)未在浏览器中缓存。有什么主意吗?谢谢。我使用IIS8。我注意到的一件事是,如果我通过单击部署的网站从IIS浏览,它会缓存所有内容。但如果键入的url(如10.111.151.88:8002)未在浏览器中缓存。知道吗?你可能也知道。将其设置为false,您的应用程序\u BeginRequest将不会被调用静态文件。您可能也会被调用。将其设置为false,您的应用程序将不会被调用静态文件。