ASP.NET / IIS,什么时候web.config中的<customheaders>被添加到页面?

时间:2017-02-10 20:29:50

标签: c# asp.net iis-7.5 response-headers

在页面生命周期的什么时候,web.config中的customHeaders会被添加到页面中吗?一个MSN引用显示在请求到达页面处理程序之前将标头添加到响应中。 为什么没有标题被清除,因为我可以看到在2个地方清除标题?

我可以在我们的一个页面模板中看到OnInit覆盖中的代码: Response.ClearHeaders(); Response.AppendHeader("Cache-Control", "no-store");

web.config中的标题

<customHeaders>
    <clear />
    <add name="X-XSS-Protection"...etc

呈现的页面响应标头具有“Cache-Control”和“X-XSS-Protection”以及其他标头。由于.NET代码和web.config都清除了标题,我希望有人清除另一个,但这种情况不会发生。

如果有所不同,这是在经典模式的IIS 7.5中。

1 个答案:

答案 0 :(得分:1)

当ASP.NET完成生成响应时,自定义标头将作为后处理的一部分添加。因此,您的ASP.NET代码将无法删除web.config中定义的自定义标头。

clear元素清除自定义标头元素的配置 - 它不会清除响应本身的标头。如果您具有继承的配置值,则可以重置配置(例如,如果machine.config中有customHeaders元素,并且您希望在站点级别覆盖它)。