2012-03-14 110 views
1

每当我在同一时间运行多个报告时,我得到此异常。我设置为报告文档以支持无限数量的水晶报告。.NET中的Crystal报告问题

object举报;

报告与cyrstal报告的一个实例,

在页面卸载报告

设置为null创建。但是我不知道如何处理一个对象? (可能处置会有所帮助)。请分享如何处置对象。

对此有何看法?

System.Exception:加载报告失败。 ---> System.Runtime.InteropServices.COMException:系统管理员配置的最大报告 处理作业限制已达到 。在 CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(对象& DocumentPath,的Int32选项)(对象& DocumentPath,的Int32选项)在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() ---内部异常堆栈跟踪的末尾在CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 在CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串 文件名,OpenReportMethod openMethod,Int16的parentJob)在 CrystalDecisions.CrystalReports。 Engine.ReportDocument.Load(字符串 文件名)

+0

也许张贴一些代码显示使用的对象,在短暂的... – 2012-03-14 23:55:18

+2

这里有一个解决方案http://forums.asp.net/t/985049.aspx/1 – Mathieu 2012-03-14 23:59:08

+0

马修有了答案 – 2012-03-15 01:13:32

回答

0

没有看到您的代码我无法确定您是否正确地处置报告对象。当报表被绑定到查看器时,会出现内存泄漏,如果查看器处于解除报告对象状态并且永远不会处理的情况下。这会导致“PrintJobCount”增加,直到达到极限并崩溃。您可以谨慎地更改'HKEY_LOCAL_MACHINE \ Business Objects [您的版本号] \ Report Application Server \ Server \ PrintJobLimit'下的注册表值,但这只会为您提供更多空间,直到您回收应用程序池为止。从长远来看,您应该在对生产环境进行任何注册表更改之前确定是否存在内存泄漏。