2011-05-25 26 views
0

我从c#应用程序中启动参数化的Jenkins构建版本。从WebRequest.GetResponse间接重复超时连接到Jenkins/Hudson

这些网址是有效的(我可以将它从日志中提取出来,并且没有问题地运行它)。在某些时候,无论设置了多长时间(我已长达90秒)或运行了多少次,所有网络请求都会超时。

这是间歇性的和某些时候,我根本没有问题。

while (count<5)   
{ try{ 
        log.WriteEntry("RunningJenkinsBuild- buildURL=" + buildUrl, EventLogEntryType.Information); 
        WebRequest request = WebRequest.Create(buildUrl); 
        request.GetResponse(); 
        return; 
       } 
       catch (WebException ex) 
       { 
        log.WriteEntry("Timeout- wait 15 seconds and try again-"+ex.Message, EventLogEntryType.Error); 
        Thread.Sleep(15000); 
        count++; 
       } 
       catch (Exception ex2) 
       { 
        log.WriteEntry(ex2.Message, EventLogEntryType.Error); 
        return; 
       } 
      } 

回答

0

这清除了它。 '使用'帮助了它。

WebRequest请求= WebRequest.Create(buildUrl); request.Timeout = 10000;使用(WebResponse response = request.GetResponse()){} Thread.Sleep(5000);