TaskCanceledException:呈现 jsreport 时任务被取消
TaskCanceledException: a task was cancelled while rendering jsreport
我正在尝试渲染一个包含过多数据的 jsreport
,当渲染时间过长时会显示以下消息:
TaskCanceledException: a task was cancelled.
如果我加载的数据较少,则报告效果很好。
我的问题是,有一种方法可以避免 TaskCanceledException
并让渲染时间占用渲染报告所需的时间吗?
由于超时,TaskCanceledException
最有可能会到来。
尝试通过 jsreport
配置增加超时。您可以阅读有关 jsreport 配置的更多信息 here。我自己没有试过,但应该是 tasks.timeout
属性.
感谢 Ankit Vijay 的回复,答案必须与您提到的超时有关,我的解决方案是下一个
我正在使用 jsreport embedserver,我这样设置超时
embeddedReportingServer.ReportingService.HttpClientTimeout = TimeSpan.FromMinutes(40);
使用这行代码我不再收到此错误:
TaskCanceledException: 渲染 jsreport 时任务被取消
然后当我再次测试时,我在 phanton 进程中遇到了这个错误:
无法呈现模板。渲染报错:在phantom中执行时超时。
最后我通过像这样向我的嵌入式服务器添加配置解决了这个问题
Helper.embeddedReportingServer.Configuration = new
{
phantom = new
{
timeout = 900000,
numberOfWorkers = 2
},
tasks = new
{
numberOfWorkers = 2,
timeout = 900000,
}
};
我正在尝试渲染一个包含过多数据的 jsreport
,当渲染时间过长时会显示以下消息:
TaskCanceledException: a task was cancelled.
如果我加载的数据较少,则报告效果很好。
我的问题是,有一种方法可以避免 TaskCanceledException
并让渲染时间占用渲染报告所需的时间吗?
由于超时,TaskCanceledException
最有可能会到来。
尝试通过 jsreport
配置增加超时。您可以阅读有关 jsreport 配置的更多信息 here。我自己没有试过,但应该是 tasks.timeout
属性.
感谢 Ankit Vijay 的回复,答案必须与您提到的超时有关,我的解决方案是下一个
我正在使用 jsreport embedserver,我这样设置超时
embeddedReportingServer.ReportingService.HttpClientTimeout = TimeSpan.FromMinutes(40);
使用这行代码我不再收到此错误: TaskCanceledException: 渲染 jsreport 时任务被取消
然后当我再次测试时,我在 phanton 进程中遇到了这个错误:
无法呈现模板。渲染报错:在phantom中执行时超时。
最后我通过像这样向我的嵌入式服务器添加配置解决了这个问题
Helper.embeddedReportingServer.Configuration = new
{
phantom = new
{
timeout = 900000,
numberOfWorkers = 2
},
tasks = new
{
numberOfWorkers = 2,
timeout = 900000,
}
};