gpt4 book ai didi

crystal-reports - Crystal 报告中的线程被中止异常

转载 作者:行者123 更新时间:2023-12-01 01:21:26 55 4
gpt4 key购买 nike

在将报告导出为 PDF 时,我们收到 Thread isaborted 异常。

我们用于将报告导出为 PDF 的以下代码。

                    Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
myReportDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, Session["ReportName"].ToString());
Response.Flush();
Response.Close();

请帮助我如何解决此异常。

最佳答案

SAP解释说:

原因

该问题已被识别并记录在问题报告 ID ADAPT00765364 下。 .
错误很可能是因为 Response.End() 引起的用于 ExportToHttpResponse() 内部方法。Reponse.End() 是一个已知问题导致线程中止。这是设计使然。
Microsoft KB312629 Article了解更多信息。

解决方法

....
try
{
reportDocument.ExportToHttpResponse(format, Response, true, Page.Title);
}
catch (System.Threading.ThreadAbortException)
{
}
....

解析度

您可以编写自己的代码,以 PDF、Word、Excel 等格式将 Crystal Report 直接导出到浏览器。您必须确保使用适当的内容类型。

将 Crystal Report 以 PDF 格式导出到 Web 浏览器的示例代码
try
{
boReportDocument.Load(Server.MapPath(@"MyReport.rpt"));
System.IO.Stream oStream = null;
byte[] byteArray = null;
oStream = boReportDocument.ExportToStream (ExportFormatType.PortableDocFormat);
byteArray = new byte[oStream.Length];
oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1));
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.BinaryWrite(byteArray);
Response.Flush();
Response.Close();
boReportDocument.Close();
boReportDocument.Dispose();

}
catch (Exception ex)
{
string s = ex.Message;
}

关于crystal-reports - Crystal 报告中的线程被中止异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8968194/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com