ReportViewer超时后响应502错误

时间:2018-11-04 09:40:43

标签: iis reporting-services reportviewer ssrs-2016

我们一直在为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;

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

2 个答案:

答案 0 :(得分:0)

运行报表时,有几种不同的超时发生,包括查看器控件,报表服务器和源数据库。请记住,每次运行报告要等待10分钟以上并不是理想的体验。

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

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

答案 1 :(得分:0)

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

  

分配页面失败:FAIL_PAGE_ALLOCATION 2

     

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

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

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