我正在创建报告文件并将其导出为pdf。我最后处理流和报告文件。但是,总是有一些.rpt文件停留在Temp文件夹中,我无法删除它们。回收应用程序池后,IIS将删除所有文件。
然后,在1或2小时后,在Temp文件夹中创建新的.rpt文件。过了一段时间,应用程序抛出Server has not enough memory for operarition
。而且,恕我直言,原因是临时文件。以下是我用于将报告导出为pdf的代码。
ReportDocument report = DownloadPDF.GetReport(id);
MemoryStream stream = (MemoryStream)report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename=" + id+ ".pdf");
report.Close();
report.Dispose();
try
{
Response.BinaryWrite(stream.ToArray());
Response.End();
}
catch (Exception)
{
}
finally
{
stream.Flush();
stream.Close();
stream.Dispose();
}