我们有ssrs服务,执行时间设置为2.5小时。我们还在调用ReportExecutionService render()方法之前将超时设置设置为12小时。
问题是,每次ssrs运行超过1小时,都无法将呼叫返回给调用者。
SSRS exeuction日志显示报告已成功完成,但它从未将结果返回给调用者。等待12小时后,来电超时。 1小时以下的所有报告都可以正常运行并返回呼叫。
有人可以建议在哪里寻找问题吗?
<system.web>
<httpRuntime executionTimeout = "9000" /> //2.5hr
</system.web>
SSRS webservice的C#调用者
// Initialize Reporting Service
ReportExecutionService rs = new ReportExecutionService()
{
Credentials = new NetworkCredential(AppSettings.SSRS_Server_UserName, AppSettings.SSRS_Server_Password),
Url = string.Format("http://{0}/{1}/{2}", AppSettings.SSRS_Server_Name, AppSettings.SSRS_Server_Path,AppSettings.SSRS_Service_ExecutionURL),
ExecutionHeaderValue = new ExecutionHeader(),
Timeout = AppSettings.SSRS_WebTimeOut, //12 hr in Milliseconds //Timeout.Infinite,
};
ž
答案 0 :(得分:0)
我们发现我们有防火墙规则会在1小时后丢弃http连接。这太可怕了,因为我们没有得到ssrs的回复,而客户端却没有任何回应而挂起。