Thread was being aborted exception in crystal reports

前端 未结 2 1796
猫巷女王i
猫巷女王i 2021-01-13 08:55

We were getting the Thread was being aborted Exception while exporting a report into PDF.

The below code we were using for export a report into PDF.

         


        
2条回答
  •  别那么骄傲
    2021-01-13 09:40

    SAP explains that:

    Cause

    The issue has been identified and logged under Problem Report ID ADAPT00765364. The error is likely caused because Response.End() is used inside the ExportToHttpResponse() method.
    It is a known issue that Reponse.End() causes the thread to abort. This is by design.
    See Microsoft KB312629 Article for more info.

    Workaround

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

    Resolution

    You can write your own code to export a Crystal Report directly to the browser in a format such as PDF, Word, Excel, etc. You must make sure you use the appropriate content type.

    Sample code to export Crystal Report to web browser as PDF

    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;
    }
    

提交回复
热议问题