加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在调用Crystal Reports ExportToHttpResponse方

发布时间:2020-12-16 06:42:44 所属栏目:asp.Net 来源:网络整理
导读:我们在ASP.Net应用程序中遇到问题,Crystal Reports引擎在为用户生成报告后将垃圾.tmp文件留在服务器的Temp文件夹中. 所以我们试图弄清楚如何在Report对象上运行.Close()和.Dispose()方法,但我们发现导出后代码永远不会运行. MyReport.Report.ExportToHttpRes
我们在ASP.Net应用程序中遇到问题,Crystal Reports引擎在为用户生成报告后将垃圾.tmp文件留在服务器的Temp文件夹中.

所以我们试图弄清楚如何在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,"My_Report");
}

当我打字的时候,我不确定它会和你已经有什么不同,但是哦,这是尝试的东西.在我脑海里,这是有效的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读