繁体   English   中英

在发送 HTTP 标头后,服务器无法 append header

[英]Server cannot append header after HTTP headers have been sent

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

在发送 HTTP 标头后,服务器无法 append header。

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

任何人都知道我怎样才能实现这样的检查?

有两种方法可以做到:

  1. 订阅HttpApplicationPreSendRequestHeaders并假设此时标头已发送。 在上下文上设置一个标志并在任何地方检查它

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM