我只想知道释放水晶报告占用的内存的正确方法是什么。
这是我的代码:
ReportDocument reportdocument = new ReportDocument();
try
{
reportdocument.Load(Server.MapPath(@"~/EndUser/PostHistoryReport.rpt"));
reportdocument.SetDataSource(myDataSet);
reportdocument.SetDatabaseLogon("user", "user123");
CrystalReportViewer1.ReportSource = reportdocument;
}
finally
{
if (reportdocument != null)
{
reportdocument.Close();
((IDisposable)reportdocument).Dispose();
GC.Collect();
}
}
答案 0 :(得分:1)
我的猜测是,当放置CrystalReportViewer1的页面关闭时,您需要释放内存。将您的报告文档放在会话变量中,并在关闭页面时关闭并处理它。