0

我正在尝试渲染一个jsreport包含太多数据的内容,当渲染时间过长时,我会看到这条消息:

TaskCanceledException: a task was cancelled.

如果我加载较少的数据,则报告效果很好。

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

4

2 回答 2

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,


                }

            };
于 2018-01-03T14:58:02.070 回答
0

TaskCanceledException有可能的应该是由于超时。

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

于 2018-01-02T21:55:40.283 回答