Visual Studio的Crystal Reports突然开始挂起

2020-09-15 22:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们的 ASP.NET 网络应用程序使用Crystal Reports for Visual Studio呈现一些PDF报告。 我们当前正在运行Visual Studio 2008附带的版本(版本10,程序集版本10.5.3700),并且一切正常。

我们现在正在升级到最新版本(版本13 SP 23,根据下载页面: https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for + Visual + Studio +下载)并遇到问题。 突然,日志中没有任何异常或错误,对Crystal Reports的API调用不再返回,而是无限阻塞,导致我们的请求超时。

问题通常是在几个小时的服务请求后出现的,在这段时间内没有异常。 我们已经检查过是否可以适当地处置所有Crystal Reports资源。 在正常操作期间,Crystal Reports日志也不会显示任何错误或其他未记录的消息。

只有重新启动应用程序和回收应用程序池才能分别解决此问题。

有什么想法为什么会发生以及如何防止这种突然的挂起/阻塞?

我们的环境:Windows Server 2008 R2 SP1,.NET 4.6.2,IIS 7

预先感谢,
Oliver Hanappi

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们的 ASP.NET 网络应用程序使用Crystal Reports for Visual Studio呈现一些PDF报告。 我们当前正在运行Visual Studio 2008附带的版本(版本10,程序集版本10.5.3700),并且一切正常。

我们现在正在升级到最新版本(版本13 SP 23,根据下载页面: https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for + Visual + Studio +下载)并遇到问题。 突然,日志中没有任何异常或错误,对Crystal Reports的API调用不再返回,而是无限阻塞,导致我们的请求超时。

问题通常是在几个小时的服务请求后出现的,在这段时间内没有异常。 我们已经检查过是否可以适当地处置所有Crystal Reports资源。 在正常操作期间,Crystal Reports日志也不会显示任何错误或其他未记录的消息。

只有重新启动应用程序和回收应用程序池才能分别解决此问题。

有什么想法为什么会发生以及如何防止这种突然的挂起/阻塞?

我们的环境:Windows Server 2008 R2 SP1,.NET 4.6.2,IIS 7

预先感谢,
Oliver Hanappi

付费偷看设置
发送
3条回答
Alawn_Xu
1楼 · 2020-09-15 22:48.采纳回答

嗨,奥利弗,

很高兴看到您自己进行了调试...

您每天要循环一次IIS吗?

它挂在什么CR API上? 同一地方还是在各种API中?

您可以下载并启用DebugDiag并查看其是否捕获了转储文件中的任何内容吗?

可能它每小时只能推送数千个报告(称为突发)的能力受到限制。

每小时要导出多少报告?

您可以尝试启用PerfMon并查看私有字节,看看它是否由于泄漏而耗尽了内存...

仅仅是因为它是64位,并不意味着它不会遇到内存碎片。

再次感谢

Don

路亽曱_Ryan
2楼-- · 2020-09-15 22:45

TEMP文件夹中的活动持续不断,但是使用后会适当删除这些文件。 因此,没有永久遗留的文件。

是的,我们的应用程序具有日志记录功能。 错误前没有异常活动。 在我们的测试中,我们反复将相同的GET请求循环发送到服务器,几个小时后,Crystal Reports突然开始挂起,直到我们回收应用程序池后才恢复。

我们的日志记录捕获任何异常,但是没有异常。 对Crystal Reports的调用不再返回,因此IIS在一段时间后会中止请求。

我们正在调用的Web服务非常简单:首先从数据库中获取数据(成功,通过日志验证),然后通过Crystal Reports呈现pdf报告(挂起)。

我们已经打开了Crystal Reports日志记录(根据 https://apps.support.sap.com/sap/support/knowledge/public/zh/1470978 ),但是日志并未显示任何异常行为。 但是请注意,我们启用了LogErrorsOnly选项,因为否则日志记录太冗长,无法重现该问题。

我们监视了IIS工作进程的内存使用情况,但是我们以64位模式运行,因此应该有足够的连续内存空间。 工作进程的内存使用量也没有超过800 MB,并且计算机上还剩下2 GB的可用内存。 因此内存应该不是问题。

还有其他想法吗?

3楼-- · 2020-09-15 22:42

嗨,奥利弗,

查看\ windows \ temp文件夹,查看其中是否包含很多文件。 如果是这样,则每隔几个小时计划从其中删除*。*。

您的应用是否具有记录功能?挂起之前发生了什么?

您知道挂起时在做什么吗?

您可以启用crpe32日志记录,但这会影响性能,请使用Google搜索KBA ...

这可能只是IIS耗尽了连续的内存空间,Microsoft建议经常循环IIS,看看是否有帮助。

一周热门 更多>