点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
上下文:
服务器:Windows Server 2012(IIS)
版本:SAP CrystalReport 13 SP 22
问题:
使用多线程(无查看器)创建动态报告时,我们遇到问题。 我们在IIS网站上使用ExportToStream生成PDF。 但是在生成大量报告后,应用程序池崩溃并显示错误:
4- XXXXXXXXXXXXXXXX.dmp中0x000007FFF6845685(ntdll.dll)处未处理的异常:0xC0000005:访问冲突读取位置0x0000000F00EF00C8。
当我们分析故障转储时,我们在上看到了2个线程:
Class:CrystalDecisions.ReportSource.EromReportSourceBase
方法:流ExportToStream(ExportRequestContext reqContext)
行:ISAResultInfo saResultInfo =(ISAResultInfo)scrReportSource.Export(pExportOptions,pRequestContext);
当我们尝试从多线程转到单线程并顺序生成报告时,我们遇到了同样的问题。 我们再次在此命令上阻止了2个线程。
在生成报告时,将关闭报告,处置报告并将数据源设置为null。
我们在这个论坛(和其他论坛)上搜索了一些琐碎的问题,并尝试了他们的解决方案,但问题仍然存在。
首先,我们在SAP Crystal Report 13 SP 12上运行,然后在查看下一个Service Pack的发行说明时,我们在服务器上更新了Crystal Runtime。 我们注意到内存泄漏有所改善,但仍然会发生异常。
如有必要,我可以发送故障转储。
此致
昆汀。
您好Quintin,
您是否正在使用"会话和回发"将报表保持在IIS范围内?
使用Google并搜索有关如何使用会话和回发的KBA:
1985571-如何使用Crystal Reports查看器(完整代码)在Web应用程序中使用会话
请注意,您还需要在Page_Init部分中加载CR行。
唐
感谢您的回复。
我将尝试此解决方案,并向您提供结果。
昆汀。
一周热门 更多>