我试图渲染一个包含太多数据的jsreport
,当渲染时间太长时,会向我显示此消息:
TaskCanceledException: a task was cancelled.
如果我加载的数据较少,报告就可以正常运行。
我的问题是,有一种方法可以避免TaskCanceledException
并让渲染时间采用呈现报告所需的时间吗?
答案 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
属性。