【问题标题】:Server cannot append header after HTTP headers have been sent?发送 HTTP 标头后服务器无法附加标头?
【发布时间】:2011-02-21 07:33:28
【问题描述】:

我在 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)

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

  1. 它是一个带有母版页的内容页。
  2. 它在 UpdatePanel 中有一个网格,由计时器触发。
  3. 在指定的时间刷新网格数据。

每次发生这种情况时,我们都会在 EventLog 中看到一个新警告。解决此问题的最佳方法是什么?

【问题讨论】:

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


    【解决方案1】:

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

    异常被抛出很深,因此您必须尝试 Debug>Exceptions>Common Language Runtime Exeptions 并检查“throw”。现在可以中断异常并检查内部异常或跟踪调用堆栈并找出谁做错了。

    【讨论】:

    • 我这样做了,但它没有中断。只有在事件日志中才会显示错误。
    • @Amitabh - 好的,工具>选项>调试>检查“启用.net源步进”,也许你可以打破。
    猜你喜欢
    • 2011-09-13
    • 2023-03-08
    • 2015-07-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 2016-03-20
    相关资源
    最近更新 更多