2017-02-10 15 views
0

В какой момент жизненного цикла страницы пользовательские хосты в файле web.config добавляются на страницу? Одна ссылка на MSN показала, что заголовки добавляются в ответ до того, как запрос дошел до обработчика страницы. Почему ни один из заголовков не очищается, так как я вижу, как заголовки очищаются в двух местах?ASP.NET/IIS, когда <customHeaders> в web.config добавляются на страницу?

я могу увидеть в одном из наших страниц шаблонов кода позади в 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

Пользовательские заголовки добавляются как часть пост-обработки, когда ASP.NET выполняется с генерированием ответа. Таким образом, ваш код ASP.NET не сможет удалить пользовательские заголовки, определенные в web.config.

Элемент clear очищает конфигурацию элемента пользовательских заголовков - он не очищает заголовки от самого ответа. Это способ сброса конфигурации, если унаследованы значения конфигурации (например, если в файле machine.config есть элемент customHeaders, и вы хотите переопределить его на уровне сайта).