在这种情况下无法获得响应?

时间:2011-12-23 06:21:34

标签: c# asp.net

  

可能重复:
  Response is not available in context? How to solve it?

我想将pdf文件作为附件发送给客户端。我尝试使用Response对象来实现它。但想出错误。

Response.Buffer = false;
            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

            //Set the appropriate ContentType.
            Response.AppendHeader("Content-Disposition", "attachment; filename="+Server.MapPath(@".\test.pdf"));
            Response.ContentType = "Application/pdf";

            //Write the pdfStream into Response
            Response.BinaryWrite(pdfData);
            Response.Flush();
            Response.End(); 

但总是抛出“响应在此上下文中不可用”。如果有人可以帮助我?

PS:我将pdf文件保存为流(pdfData)。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您正尝试在没有当前响应的代码位置使用HttpContext.Current.Response。

如果在HTTPHandler中使用它,则需要使用通过IHTTPHandler接口中的ProcessRequest方法传递的Context对象。