Как я могу улучшить этот сценарий повторной попытки исключения?
У меня есть метод веб-службы, который я вызываю, который является сторонним и находится за пределами моего домена. По какой-то причине время от времени веб-служба дает сбой со временем ожидания шлюза. Его прерывистость и вызов к нему сразу после неудачной попытки могут быть успешными.
Теперь у меня осталась дилемма кодирования, у меня есть код, который должен справиться с задачей, но код выглядит как любительский час, как вы увидите ниже.
Это действительно плохой код, или приемлемо, учитывая использование? Если это не приемлемо, как я могу улучшить это?
Пожалуйста, старайтесь сохранять невозмутимое лицо, глядя на него.
try
{
MDO = OperationsWebService.MessageDownload(MI);
}
catch
{
try
{
MDO = OperationsWebService.MessageDownload(MI);
}
catch
{
try
{
MDO = OperationsWebService.MessageDownload(MI);
}
catch
{
try
{
MDO = OperationsWebService.MessageDownload(MI);
}
catch
{
try
{
MDO = OperationsWebService.MessageDownload(MI);
}
catch (Exception ex)
{
// 5 retries, ok now log and deal with the error.
}
}
}
}
}