在发送HTTP标头后,服务器无法追加标头

本文关键字:服务器 追加 HTTP | 更新日期: 2023-09-27 17:59:04

我在asp.net c#web应用程序中间歇性地遇到这个异常

在发送HTTP标头后,服务器无法追加标头。

它是由应用程序在页面发送后将内容附加到页面响应标头引起的。我不知道为什么它是间歇性的,但我需要做的是在修改页眉之前进行检查,以检查页面是否已发送。

有人知道我是如何做到这一点的吗?

在发送HTTP标头后,服务器无法追加标头

有两种方法:

  1. 订阅HttpApplicationPreSendRequestHeaders,并假设此时已经发送了标头。在上下文上设置一个标志,并在各处进行检查

  2. 丑陋的解决方案:HttpResponse具有一个称为HeadersWritten的内部属性。由于它是内部的,你必须通过反思来访问它。我建议只将其用于调试。在所有页面生命周期事件之前/之后检查它,找出问题所在。不要把它留在生产代码中