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

时间:2010-05-19 10:13:25

标签: asp.net html iis iis-7 asp.net-4.0

我在IIS 7上运行的Asp.Net网站的事件日志中收到以下警告。

Exception information: 
    Exception type: HttpException 
    Exception message: Server cannot append header after HTTP headers have been sent.
   at System.Web.Hosting.ISAPIWorkerRequest.SendUnknownResponseHeader(String name, String value)
   at System.Web.HttpResponse.WriteHeaders()
   at System.Web.HttpResponse.Flush(Boolean finalFlush)
   at System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e)

我尝试调试WebSite,但它没有在调试器中显示。出现此问题的网页包含以下内容。

  1. 它是一个包含母版页面的内容页面。
  2. UpdatePanel内部有一个网格,由计时器触发。
  3. 在指定的时间内刷新网格数据。
  4. 每次发生这种情况我们都会在EventLog中看到一个新的警告。什么是解决这个问题的最佳方法?

1 个答案:

答案 0 :(得分:3)

你有一个行为不端的控件。您可以在将任何内容写入响应流之前的任何时刻添加标头,之后添加标头将会抛出。

异常被抛出,所以你必须尝试Debug> Exceptions> Common Language Runtime Exeptions并检查'thrown'。现在可以打破exeption并检查内部异常或跟踪调用堆栈并找出谁是坏的。