Итак, у меня есть функция, которая вызывает веб-службу, которая возвращает INT, указывающий на успех или различные типы сбоев, которые могли произойти. После того, как я получаю результат от службы, я запускаю оператор switch и действую соответственно в зависимости от того, что произошло во время выполнения службы.
private void Example()
{
int Result = ExecuteWebService();
switch(Result)
{
case 0:
//no errors
NoErrorsLogic();
break;
case 1:
// manual retry
ManualRetryLogic();
break;
case 2:
// validation error
ValidationErrorLogic();
break;
default:
// Run time error occurred
LogicOptionD();
// At this point I want to to call the service again ONCE just to see if it will succeed
break;
}
}
Как правило, я бы просто добавил вызов функции, чтобы она вызывала службу и снова и снова просматривала результаты, но я не хочу, чтобы она работала непрерывно, пока служба не завершится успешно. В варианте по умолчанию я просто хочу заставить его «повторить» вызов службы ОДИН РАЗ, а ЗАТЕМ соответствующим образом обработать результаты.
Любые идеи?