gpt4 book ai didi

asp.net - 如何在调用 Crystal Reports ExportToHttpResponse 方法后运行清理代码?

转载 作者:行者123 更新时间:2023-12-05 00:42:17 25 4
gpt4 key购买 nike

我们在 ASP.Net 应用程序中遇到了一个问题,即在为用户生成报告后,Crystal Reports 引擎在服务器的 Temp 文件夹中留下垃圾 .tmp 文件。

所以我们试图弄清楚如何在 Report 对象上运行 .Close() 和 .Dispose() 方法,但我们发现在导出发生后代码永远不会运行。

MyReport.Report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, 
this.Response, true, "My_Report");

MyReport.Report.Close();
MyReport.Report.Dispose();

设置在最后两行的断点永远不会被命中,我们还尝试将其他代码放在那里来测试处理。没有一个运行。 (我也在其他具有类似代码的网站上看到过这个问题,但没有答案)

我假设此时 ExportToHttpResponse 方法正在向用户返回文件流 (PDF),结束处理,因此其余代码不会运行。如果是这种情况,我们如何让 CR 对临时文件执行清理,而 Close() 和 Dispose() 方法应该这样做?我们是否必须实现手动事后清理?

最佳答案

我没有办法重现这个问题,所以我会说你可以使用 using 语句,它允许你指定何时应该释放对象。

What is the C# Using block and why should I use it?
http://msdn.microsoft.com/en-us/library/yh598w02(VS.80).aspx

还没有尝试过,但我认为你可以做类似的事情

using(MyReport m = new MyReport())
{
m.Report.ExportToHttpResponse(ExportFormatType.PortableDocFormat,
this.Response, true, "My_Report");
}

在我输入它时,我不确定它是否与您已有的有很大不同,但是哦,这是值得尝试的。在我看来这是有效的。 :)

希望能帮助到你。

关于asp.net - 如何在调用 Crystal Reports ExportToHttpResponse 方法后运行清理代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2247499/

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