在页面生命周期的什么时候,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中。
答案 0 :(得分:1)
当ASP.NET完成生成响应时,自定义标头将作为后处理的一部分添加。因此,您的ASP.NET代码将无法删除web.config中定义的自定义标头。
clear
元素清除自定义标头元素的配置 - 它不会清除响应本身的标头。如果您具有继承的配置值,则可以重置配置(例如,如果machine.config中有customHeaders元素,并且您希望在站点级别覆盖它)。