Как я должен попробовать 3 раза, если мой код не смог подключиться к веб-службе в C#?
Вот мой код:
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 ответа
int faultCounter = 0;
bool faulted;
do {
faulted = false;
try {
// perform service operation
} catch {
faultCounter++;
faulted = true;
}
} while (faulted && faultCounter < 3);
Инкапсулируйте свой код в цикле и возвращайте или прерывайте, если нет исключения.