2011-06-13 71 views
7

我间歇性地得到这个例外在我的asp.net C#的Web应用程序:后HTTP标头已被送往服务器的HTTP标头后不能追加头已被送往

服务器不能追加头。

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

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

回答

9

有两种方法做到这一点:

  1. 订阅的HttpApplicationPreSendRequestHeaders并假设标头在这一点上被发送。设置一个标志,上下文并检查它无处不

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

+0

感谢您的回复。我认为选项1是最好的。这是否可以在http响应中设置cookie和http标题的最后一点? – amateur 2011-06-13 17:14:15

+0

作为事件的名称说它发生在标题发送之前。这是您仍然可以设置标题的最新时间 – 2011-06-13 19:01:11

相关问题