c# - ASP.NET/IIS,web.config 中的 <customHeaders> 何时添加到页面?

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

在页面生命周期的哪个阶段,web.config 中的 customHeaders 会添加到页面中?一份 MSN 引用资料显示,在请求到达页面处理程序之前,已将 header 添加到响应中。 既然我可以看到两个地方的 header 被清除,为什么没有一个 header 被清除?

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

web.config 中的 header

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

渲染的页面响应 header 同时具有“Cache-Control”和“X-XSS-Protection”以及其他 header 。由于 .NET 代码和 web.config 都会清除 header ,因此我希望其中一个会清除另一个,但这种情况并没有发生。

这是在 IIS 7.5 中的经典模式(如果有影响的话)。

最佳答案

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

clear 元素清除自定义 header 元素的配置 - 它不会清除响应本身的 header 。如果您继承了配置值(例如,如果 machine.config 中有一个 customHeaders 元素并且您希望在站点级别覆盖它),这是重置配置的一种方法。

关于c# - ASP.NET/IIS,web.config 中的 <customHeaders> 何时添加到页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42168144/

相关文章:

c# - 如何在表格中插入图像路径

c# - 实现涉及多个程序集的自定义 Controller 工厂

c# - 抛出 AmbiguousMatchException

asp.net - Visual Studio 2013 拒绝构建解决方案,显示 "Could not load file or assembly ... Failed to grant minimum permission requests"、 0x80131417

c# - 学习 .NET Web 服务的最佳资源是什么?

.net - 了解 IIS7.5 上的处理程序映射

c# - linq、c# 中选择然后过滤和选择不同之间的比较

不使用表单的 jQuery 验证器插件

asp.net - 由于 HttpModule 导致客户端缓存关闭?

asp.net - IIS 7.5 无法打开处理程序映射?