Reputation: 44605
I get this exception intermittently in my asp.net c# web application:
Server cannot append header after HTTP headers have been sent.
And it caused by the application appending content to the pages response header after the page has been sent. I am not sure why its intermittent but what I need to do is perform a check prior to the modification for the headers to check if the page has been sent.
Anyone know how I can achieve such a check?
Upvotes: 8
Views: 9094
Reputation: 982
There are 2 ways to do it:
Subscribe to the PreSendRequestHeaders
of HttpApplication
and assume that the headers have been sent at this point. Set a flag on the context and check for it everywhere
The ugly solution:
HttpResponse
has a internal property called HeadersWritten
. Since it's internal you'll have to access it through reflection. I'd recommand only to use this for debugging. Check it before/after all the page lifecyle events and find out where the problem is. Don't leave this in production code
Upvotes: 11