我们一直在为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;
不幸的是,没有一个解决了这个问题。任何帮助将不胜感激。 谢谢大家。
答案 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
错误。