【问题标题】:TaskCanceledException: a task was cancelled while rendering jsreportTaskCanceledException:渲染jsreport时取消任务
【发布时间】:2018-01-03 22:58:02
【问题描述】:

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

TaskCanceledException: a task was cancelled.

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

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

【问题讨论】:

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


    【解决方案1】:

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

    我使用的是 jsreport embbedserver,我像这样设置超时

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

    使用这行代码,我不再收到此错误: TaskCanceledException: 渲染 jsreport 时任务被取消

    然后当我再次测试时,我在幻顿进程中遇到了这个错误:

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

    最后我通过像这样向我的嵌入服务器添加配置来解决它

    Helper.embeddedReportingServer.Configuration = new
                {
    
                    phantom = new
                    {
                        timeout = 900000,
                        numberOfWorkers = 2
                    },
    
    
                    tasks = new
                    {
                        numberOfWorkers = 2,
                        timeout = 900000,
    
    
                    }
    
                };
    

    【讨论】:

      【解决方案2】:

      TaskCanceledException 很可能由于超时而出现。

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

      【讨论】:

        猜你喜欢
        • 2016-03-25
        • 2016-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多