ReportService2010.asmx ListChildren()超时异常

时间:2016-02-11 12:19:33

标签: web-services reporting-services reportservice2010

我在我的一个exe中添加了对SSRS Web服务的引用 - http://servername/ReportService2010.asmx

ListChildren()Recursive = false作为

进行通话时
var reportService = new ReportingService2010
{
    Credentials = CredentialCache.DefaultCredentials,
    Url = "http://servername/ReportService2010.asmx"
};

...

var children = reportService.ListChildren(parentFolderPath, false);

抛出以下异常 -

System.Net.WebException: The operation has timed out
   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at DeploySSRSreports.ReportService2010.ReportingService2010.ListChildren(String ItemPath, Boolean Recursive)

请指导可能导致此错误的原因是什么?

FYI, reportService.Timeout的默认值是100000毫秒,这对我来说非常合理 此外,上面的代码在DEV环境中运行良好,但在QA中失败。

谢谢!

1 个答案:

答案 0 :(得分:1)

由于SSRS服务器运行缓慢,问题正在发生。 我们在不同的时间运行了exe,问题得到解决。

如果您遇到同样的问题,可以通过 -

解决此问题
  • 执行SSRS服务器或关联的Windows服务重启,如果是的话 可能。在我的情况下,因为我们的SSRS服务器是不可能的 也是一个迎合许多其他项目数据库的数据库服务器。
  • 增加SSRS服务调用的超时时间。这肯定会解决问题。

HTH。