我在asp.net c#web应用程序中间歇性地遇到这个异常
在发送HTTP标头后,服务器无法追加标头。
它是由应用程序在页面发送后将内容附加到页面响应标头引起的。我不知道为什么它是间歇性的,但我需要做的是在修改页眉之前进行检查,以检查页面是否已发送。
有人知道我是如何做到这一点的吗?
有两种方法:
-
订阅
HttpApplication
的PreSendRequestHeaders
,并假设此时已经发送了标头。在上下文上设置一个标志,并在各处进行检查 -
丑陋的解决方案:
HttpResponse
具有一个称为HeadersWritten
的内部属性。由于它是内部的,你必须通过反思来访问它。我建议只将其用于调试。在所有页面生命周期事件之前/之后检查它,找出问题所在。不要把它留在生产代码中