来自WebRequest.GetResponse的间歇性重复超时连接到Jenkins / Hudson

时间:2011-05-25 20:44:07

标签: c# timeout hudson webrequest jenkins

我正在从c#应用程序开始参数化Jenkins构建。

网址有效(我可以从日志中提取并运行它没有问题)。在某些时刻,无论设置超时(我已经达到90秒)或运行了多少次,所有webrequest都会超时。

这是断断续续的,有些时候,我根本就没有问题。

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;
                }
            }

1 个答案:

答案 0 :(得分:0)

这清除了它。 “使用”帮助了它。

WebRequest request = WebRequest.Create(buildUrl);                 request.Timeout = 10000;                 使用(WebResponse response = request.GetResponse()){}                 Thread.sleep代码(5000);