.NET, ASHX, "Server cannot append header after HTTP headers have been sent" after sending PDF Streem
Posted
by
Inturbidus
on Stack Overflow
See other posts from Stack Overflow
or by Inturbidus
Published on 2011-01-01T14:45:30Z
Indexed on
2011/01/01
14:54 UTC
Read the original article
Hit count: 212
I visit my ASHX file, and it outputs a PDF perfectly. If I visit the very same ASHX with a different query string (I append DateTime.Now.Ticks to the end each visit), and I get this error:
Server cannot append hader after HTTP headers have been sent.
My code is below:
copy.CloseStream = false;
document.Close();
var r = context.Response;
r.ExpiresAbsolute = DateTime.Now;
r.BufferOutput = true;
r.ContentType = "application/pdf";
r.AppendHeader("Content-Type", r.ContentType);
r.AppendHeader("Content-disposition", "inline; filename=" + context.Server.UrlEncode(formType.File_Name));
r.BinaryWrite(copyStream.ToArray());
r.StatusCode = 200;
r.End();
originalReader.Close();
copy.CloseStream = true;
copy.Close();
There is no other place in this code that headers are sent. You are seeing the entire interaction with the Response object.
I've tried to use r.Flush(); and r.End(); I've also tried not sending them if they are already there, but this causes other issues.
© Stack Overflow or respective owner