在Global.asax中禁用缓存

时间:2014-09-30 04:43:27

标签: asp.net iis browser-cache global-asax

我开发了一个纯粹的 html 5,css和jquery 网站。主要针对智能设备。它部署在 IIS服务器

我的客户正在IE,Chrome等桌面浏览器上测试此网站。

我的问题

每当我进行任何部署时,客户端的浏览器都会从浏览器缓存中选择页面。它们不是直接从服务器获取的。我不想在每个html页面上进行URL更改,因此浏览器可以将其识别为新页面。相反,我想,因为这部署在IIS上,我只能在一个地方进行更改,即 Global.ascx。

所以这就是我在Global.ascx中所做的。

void Application_PreSendRequestHeaders(Object sender, EventArgs e)
{
    HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
    HttpContext.Current.Response.Cache.SetNoStore();
}

请注意,我的应用程序没有任何 web.config ,因为它不需要任何。 现在浏览器仍在从缓存中选择页面。

请指教。感谢

1 个答案:

答案 0 :(得分:0)

经过一些测试和玩耍后。我添加了一个 Web.Config 文件,我使用了以下配置和它工作

<configuration>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="DisableCache" />
    </staticContent>
  </system.webServer>
</configuration>