Сервер не может добавить заголовок после отправки заголовков HTTP - PullRequest
7 голосов
/ 13 июня 2011

Я периодически получаю это исключение в моем веб-приложении asp.net c #:

Сервер не может добавить заголовок после отправки заголовков HTTP.

И это вызвано тем, что приложение добавляет контент взаголовок ответа страницы после отправки страницы.Я не уверен, почему это прерывисто, но мне нужно выполнить проверку перед изменением заголовков, чтобы проверить, была ли отправлена ​​страница.

Кто-нибудь знает, как я могу выполнить такую ​​проверку?

1 Ответ

9 голосов
/ 13 июня 2011

Есть 2 способа сделать это:

  1. Подпишитесь на PreSendRequestHeaders из HttpApplication и предполагайте, что заголовки были отправлены в этот момент. Установить флаг в контексте и проверять его везде

  2. Уродливое решение: HttpResponse имеет внутреннее свойство с именем HeadersWritten. Так как он внутренний, вы должны получить к нему доступ через рефлексию. Я бы порекомендовал только использовать это для отладки. Проверьте это до / после всех событий жизненного цикла страницы и выясните, в чем проблема. Не оставляйте это в производственном коде

...