SSRS完成但不返回呼叫者

时间:2017-01-20 20:20:15

标签: c# reporting-services timeout ssrs-2008-r2 ssrs-2012

我们有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,
    };

ž

1 个答案:

答案 0 :(得分:0)

我们发现我们有防火墙规则会在1小时后丢弃http连接。这太可怕了,因为我们没有得到ssrs的回复,而客户端却没有任何回应而挂起。