我们在项目中使用 ActiveReports,在代码中我们使用 CacheToDisk 属性来避免内存异常。我们使用了 WCF 服务,它将调用 dll 中的一个方法,其中包含 ActiveReport 报表生成。 WCF 服务托管在 Windows 服务中。
当报表导出为 PDF 时,会在 IsolatedStorage 文件夹中创建 PDF*.tmp 文件,并且不会自动删除。我们使用了 Document 对象的 Dispose() 方法,删除了 AR*.tmp 文件,但没有删除 PDF*.tmp 文件(每个文件大约 100 MB)。我们对 IsolatedStorage 文件夹进行了硬编码,并授予用户完全权限,Windows 服务在该文件夹下运行。
请告诉我们如何自动删除 IsolatedStorage 文件夹中的 PDF*.tmp 文件?此外,有时即使在使用 CacheToDisk(导出为 excel 或 pdf)后,我们也会因某些报告出现内存不足异常,有时 Windows 服务本身会因内存异常而自动停止。
最佳答案
瓦伦
我们一直在努力通过您在此处发帖解决您的问题:http://www.datadynamics.com/forums/145096/ShowPost.aspx 相关问题是否解决,请关注本论坛帖子。
一旦我们有了最终的解决方案,我会更新这篇文章。
谢谢
拉吉
关于c# - 使用 CacheToDisk 时,PDF*.tmp 文件未被删除和内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9365434/