找回密码
 立即注册

QQ登录

只需一步,快速开始

afly

注册会员

7

主题

20

帖子

61

积分

注册会员

积分
61
最新发帖
afly
注册会员   /  发表于:2025-1-3 12:47  /   查看:55  /  回复:2
1金币

这是调用代码的地方,执行的时候有时候会超时,然后后续请求过来以后导致整个卡起,是否会出现资源没有释放的情况这样使用
{
                // Console.Out.WriteLine("Export Start ");

                IRenderingExtension rendering;
                var settings = new NameValueCollection();

                switch (type)
                {
                    case "xls":
                        rendering = new ExcelRenderingExtension();
                        break;
                    case "docx":
                        rendering = new WordRenderingExtension();
                        settings.Add("FileFormat", "OOXML");

                        break;
                    case "html":
                        rendering = new HtmlRenderingExtension();
                        settings.Add("StyleStream", "false");
                        settings.Add("EmbedImages", "true");
                        settings.Add("IncludePageMargins", "true");
                        settings.Add("Mode", "Paginated");

                        break;

                    case "pdf":
                    default:
                        type = "pdf";
                        rendering = new PdfRenderingExtension();
                        break;
                }

                var streamProvider = new FileStreamProvider(_context.OutputDirectory, id);
                doc.Render(rendering, streamProvider, settings, true);



2 个回复

倒序浏览
Felix.LiWyn认证
超级版主   /  发表于:前天 09:51
沙发
问题描述:
导出超时问题


问题回答:

您好,看您的代码本身使用上其实没有问题,如果发生超时问题,或许可以关注doc对象在加载pageReport对象的时候。是否存在数据很大,或者报表本身复杂导致加载慢,或者页很多,导出加载慢的情况,本身我们报表和导出相关的对象都是一次性new的,不存在其他引用的情况,所有资源都是在结束后,会依靠.net本身的GC做回收,不会有资源泄露的问题
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:前天 17:44
板凳
您好,在最新的AR18中已经有了现成的方法做导出的监控以及取消。您可以参考这个:
https://developer.mescius.com/ac ... port-rendering.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部