【问题标题】:ReportViewer responds with 502 error after it times outReportViewer 超时后响应 502 错误
【发布时间】:2018-11-04 09:40:42
【问题描述】:

我们一直在为 SSRS 2016 构建报告。在 2 分钟内执行的报告可以正常工作。但是,我们有一些遥控器需要 10 多分钟。

但是,在执行报告时,它会在大约 2 分钟后超时并返回此错误:

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred 
while processing the request on the server. 
The status code returned from the server was: 502

我尝试在 web.config 中设置执行超时

<httpRuntime executionTimeout="2147472000" maxRequestLength="2147483647" />

我也尝试过设置 ScriptManager 的超时时间:

ScriptManager scriptMan = ScriptManager.GetCurrent(this);
scriptMan.AsyncPostBackTimeout = 10800;

不幸的是,这些都没有解决问题。任何帮助将不胜感激。 谢谢大家。

【问题讨论】:

    标签: iis reporting-services reportviewer ssrs-2016


    【解决方案1】:

    当您运行包括查看器控件、报表服务器和源数据库在内的报表时,会出现多种不同的超时。请记住,每次要运行报告时等待超过 10 分钟并不是理想的体验。

    相反,我建议研究按计划缓存报告。您可以在报表服务器上的报表处理选项中进行设置。例如,您可以选择每天刷新一次缓存。这样,当用户决定运行报表时,它会加载得更快。

    刷新缓存时,报告没有相同的超时限制。而且由于缓存报告的呈现速度更快,您无需调整任何超时设置。这也提供了更好的用户体验。

    【讨论】:

      【解决方案2】:

      在我们的例子中,当我们在运行 SSRS 报告时收到 502 错误时,我们还会在日志文件中收到以下错误:

      分配页面失败:FAIL_PAGE_ALLOCATION 2

      (日志文件:C:\Program Files\Microsoft SQL 服务器\MSRS13.MSSQLSERVER\报告 服务\LogFiles\ReportServerService__.log)

      这表示分配给 SSRS 服务的内存不足。 分配的内存可以在rsreportserver.config文件中配置,通过设置WorkingSetMaximum变量。

      所以我建议,当您收到 502 错误时,值得检查日志文件中的 FAIL_PAGE_ALLOCATION 错误。

      【讨论】:

        猜你喜欢
        • 2019-09-01
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 2021-05-30
        • 1970-01-01
        • 1970-01-01
        • 2020-10-10
        • 2020-06-18
        相关资源
        最近更新 更多