【发布时间】:2011-06-02 05:49:52
【问题描述】:
我访问了我的 ASHX 文件,它完美地输出了 PDF。如果我使用不同的查询字符串访问同一个 ASHX(每次访问都将 DateTime.Now.Ticks 附加到末尾),我会收到此错误:
发送 HTTP 标头后,服务器无法附加 hader。
我的代码如下:
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();
此代码中没有其他地方发送标头。您将看到与 Response 对象的整个交互。
我尝试使用 r.Flush(); 和 r.End(); 如果它们已经存在,我也尝试不发送它们,但这会导致其他问题。
【问题讨论】: