我们有一个由第三方开发的应用程序,我不想回到它们,让它们为特定页面添加缓存控制。
需要禁用缓存的所有页面都在一个目录中。
问题是IE似乎没有遵循Cache-control:nocache,所以我们需要添加Pragma:nocache和cache age。
有没有办法在目录中使用配置?它会在所有子目录中级联吗?可以通过主web.config吗?
要清楚,我不是想通过代码来实现这一点,它需要通过配置IIS或web.config文件来实现。
我们在IIS 6.0上使用ASP.NET 2.0和4.0。
答案 0 :(得分:3)
这可以在IIS中使用UI完成,它实际上非常简单,或者至少在我的用例中。
您所做的只是打开IIS管理器,导航到该站点,然后将要添加标题的目录添加到右键单击 - >属性。
单击“标题”选项卡,然后添加所需的标题。
以递归方式向下移动子目录,并在代码添加之前添加标头。
在IIS 7.0 / 7.5中,您可以在每个目录中使用web.config的StaticContent部分。
答案 1 :(得分:1)
您可以在global.asax
上执行此操作protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
string cTheFile = HttpContext.Current.Request.Path;
if (cTheFile.Contains("/ExtraDir/"))
{
// add your header here
app.Response.AppendHeader("Pragma", "no-cache");
}
//... rest code of...
}