SAP объясняет, что:
Причина
Проблема была обнаружена и зарегистрирована под идентификатором отчета о проблеме ADAPT00765364
.
Ошибка, вероятно, вызвана тем, что Response.End()
используется внутри метода ExportToHttpResponse()
.
Это известная проблема, которая Reponse.End()
вызывает прерывание потока. Это по замыслу.
См. Microsoft KB312629, статья для получения дополнительной информации.
Обход
....
try
{
reportDocument.ExportToHttpResponse(format, Response, true, Page.Title);
}
catch (System.Threading.ThreadAbortException)
{
}
....
Разрешение
Вы можете написать собственный код для экспорта отчета Crystal Report напрямую в браузер в формате, таком как PDF, Word, Excel и т. Д. Вы должны убедиться, что используете соответствующий тип контента.
Пример кода для экспорта Crystal Report в веб-браузер в формате 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;
}