gpt4 book ai didi

c# - 摆脱临时文件夹中的 Crystal Report 生成的文件 - Visual Studio 2008

转载 作者:太空狗 更新时间:2023-10-29 23:34:08 24 4
gpt4 key购买 nike

您好,我在下面粘贴了一段代码,用于显示报告。我正在使用 Visual Studio 2008 Crystal 报表引擎。它与这段代码配合得很好

问题: 每次运行报告时,它都会生成一个 ('.*tmp', '.*rpt') 文件,通常在临时文件夹 c:\windows\temp 然而,我们可以通过在应用程序池上设置回收来摆脱 *.tmp 文件,但需要一种方法来摆脱 .rpt 文件。

找到解决方案:对报告对象调用Close()Dispose()。我的做法是 crReportDoc.Close() 然后是 crReportDoc.Dispose()

实际问题:如果调用 Dispose(),报告会出现以下错误 '对象引用未设置为一个实例对象'

如果其中一位伙伴可以帮助我解决问题,我将不胜感激,因为我对编程还很陌生。

谢谢

        Dim crReportDoc = New CrystalDecisions.CrystalReports.Engine.ReportDocument           
crReportDoc = Session("ReportDocument")
ReportViewer.DisplayToolbar = True
ReportViewer.EnableDrillDown = True
ReportViewer.DisplayGroupTree = False
ReportViewer.Visible = True
ReportViewer.DisplayToolbar = True
ReportViewer.ReportSource = crReportDoc

最佳答案

有时即使您在 ReportDocument 对象上调用 dispose 后跟 GC.Collect() 仍然是 .rpt 文件在 Temp 文件夹未清理。并且没有限制。 Temp 文件夹中的 .rpt 文件,之后 CR 停止执行进一步的报告请求。

奇怪的是,当您在函数或事件处理程序中声明 ReportDocument 对象时,会发生这种情况。

但是,如果您在 Page wide global Context 中声明您的 ReportDocument,那么当您在 Page_Unload() 中调用 Dispose 方法时,Crystal Reports 会愉快地清除临时 .rpt 文件事件 !!!!

关于c# - 摆脱临时文件夹中的 Crystal Report 生成的文件 - Visual Studio 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com