2016-02-11 50 views
0

我已经在我的exe文件的一个添加到SSRS Web服务的引用 - http://servername/ReportService2010.asmxReportService2010.asmx ListChildren()超时异常

当呼叫到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) 

可以请指导什么可能是可能的原因这个错误?

供参考, reportService.Timeout的默认值是100000毫秒,这对我来说很合理。
此外,上述代码在DEV环境中运行正常,但在QA中失败。

谢谢!

回答

1

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

如果你正面临同样的问题,你可以解决这个问题 -

  • 做SSRS服务器或相关窗口服务重新启动,如果这是 可能。在我的情况下,这是不可能的,因为我们的SSRS服务器是 也是适用于许多其他项目数据库的数据库服务器。
  • 增加SSRS服务调用的超时时间。这肯定会解决这个问题。

HTH。