TaskCanceledException:渲染jsreport时取消了任务

时间:2018-01-02 20:49:59

标签: javascript asp.net-web-api jsreport

我试图渲染一个包含太多数据的jsreport,当渲染时间太长时,会向我显示此消息:

TaskCanceledException: a task was cancelled.

如果我加载的数据较少,报告就可以正常运行。

我的问题是,有一种方法可以避免TaskCanceledException并让渲染时间采用呈现报告所需的时间吗?

2 个答案:

答案 0 :(得分:1)

感谢Ankit Vijay的回复,答案必须是你提到的时间,我的解决方案是下一个

我正在使用jsreport embbedserver,我设置了这样的时间

embeddedReportingServer.ReportingService.HttpClientTimeout = TimeSpan.FromMinutes(40);

使用这行代码,我停止接收此错误: TaskCanceledException:渲染jsreport时取消了任务

然后当我再次测试时,我用phanton过程得到了这个错误:

无法呈现模板。渲染报告期间出错:以幻像执行时超时。

最后,我通过向我的嵌入式服务器添加配置解决了这个问题

Helper.embeddedReportingServer.Configuration = new
            {

                phantom = new
                {
                    timeout = 900000,
                    numberOfWorkers = 2
                },


                tasks = new
                {
                    numberOfWorkers = 2,
                    timeout = 900000,


                }

            };

答案 1 :(得分:0)

TaskCanceledException最有可能因超时而来。

尝试通过jsreport配置增加超时。您可以阅读有关jsreport配置here的更多信息。我自己没有尝试过,但它应该是tasks.timeout属性。