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

ama*_*eur 7 c# asp.net httpresponse http-headers

我在asp.net c#web应用程序中间歇性地获得此异常:

发送HTTP标头后,服务器无法附加标头.

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

谁知道我怎么能做到这样的检查?

Tud*_*ean 9

有两种方法可以做到:

  1. 订阅PreSendRequestHeadersHttpApplication,并假定标头在这一点上被发送.在上下文中设置标志并在任何地方检查它

  2. 丑陋的解决方案: HttpResponse有一个内部属性叫做HeadersWritten.因为它是内部的,你必须通过反射访问它.我建议只使用它进行调试.在所有页面生活周期事件之前/之后检查它并找出问题所在.不要将其留在生产代码中