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

时间:2011-06-13 09:01:46

标签: c# asp.net http-headers httpresponse

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

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

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

任何人都知道如何实现这样的检查?

1 个答案:

答案 0 :(得分:9)

有两种方法可以做到:

  1. 订阅PreSendRequestHeaders的{​​{1}}并假设此时已发送标头。在上下文中设置一个标志,并在任何地方检查它

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