我创建了一个pdf。现在我想下载那个pdf。所以我有以下代码允许用户从Web服务下载pdf。
[System.Web.Services.WebMethod(Description = "Download PDF", EnableSession = true)]
[System.Web.Script.Services.ScriptMethod]
public void downloadPDFNow(string orderID)
{
try
{
string fileName = orderID+ ".pdf";
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline; filename=foo.pdf");
HttpContext.Current.Response.WriteFile(orderID+ ".pdf");
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End(); //Exception
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
}
}
但是获得例外
Current =无法计算表达式,因为代码已优化或本机帧位于调用堆栈之上。
我尝试了以下代码,但Response.End()除外。然后我也无法下载pdf。
HttpContext.Current.ApplicationInstance.CompleteRequest() ;