2016-02-11 48 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。