Как мне попробовать 3 раза, если мой код не смог подключиться к веб-сервису в C #? - PullRequest
0 голосов
/ 29 ноября 2011

Вот мой код:

FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(Constant.IP);
reqFTP.Credentials = new NetworkCredential(UserName, Password);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
response = (FtpWebResponse)reqFTP.GetResponse();
Stream responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);

Я хотел бы попытаться подключиться к веб-службе, если мой код не удается подключиться. Только через 3 раза я бы хотел сдаться.

Как мне попробовать?

Я думаю о try catch и считаю время отказа, но думаю, что будут лучшие решения.

Ответы [ 2 ]

1 голос
/ 29 ноября 2011
int faultCounter = 0;
bool faulted;
do {
  faulted = false;
  try {
    // perform service operation
  } catch {
    faultCounter++;
    faulted = true;
  }
} while (faulted && faultCounter < 3);
0 голосов
/ 29 ноября 2011

Инкапсулируйте ваш код в цикле и возвращайте или прерывайте, если нет исключения.

...