Windows Workflow Foundation, исключения и повторные попытки?

У меня последовательный рабочий процесс с рядом действий. Одно из этих действий требует доступа к моей платной учетной записи S3. Он работает нормально, но, чтобы быть осторожным, я хотел бы убедиться, что он может обрабатывать непредвиденные ситуации, такие как «Хост не найден» или некоторый тайм-аут и т. д.

Итак .. я бы обычно помещал код в ПОПЫТКУ / ПОИСК. Это нормально ... но я не уверен, что мне делать с рабочим процессом ... потому что, если код не может быть завершен правильно, остальная часть рабочего процесса не должна выполняться (в зависимости от логики этого рабочего процесса).

Итак, я хотел, может быть, повторить попытку подключения несколько раз ... и если это окончательно не поможет, вызовите действие электронной почты и прервите рабочий процесс.

Может ли кто-нибудь сделать какие-либо предложения, ссылки на видеоролики или скриншоты, которые помогут показать, что для этого лучше всего?

ваше здоровье!

Знайте свои исключения!
Знайте свои исключения!
В Java исключение - это событие, возникающее во время выполнения программы, которое нарушает нормальный ход выполнения инструкций программы. Когда...
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
3
0
2 000
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Взгляните на FaultHandlerActivity, который используется для обработки исключения типа, указанного свойством FaultType. Некоторые ссылки об обработке ошибок в WF:

Другой способ - использовать метод Activity.HandleFault, который вызывается при возникновении исключения в контексте выполнения вашего действия.

1) Ссылка идет на Google ГРЕЦИЯ, поэтому мне пришлось изменить ее на com.au (для себя: P) классная ссылка, кстати! 2) Быстро пролистав эти ссылки, они не объясняют, как ПОВТОРИТЬ ПОВТОР в случае возникновения исключения. У вас есть какая-нибудь информация по этому поводу?

Pure.Krome 11.11.2008 03:20

Ссылка теперь идет на google.com ... Я бы предложил обрабатывать повторные попытки внутри вашего кода и не пытаться реализовать с другими действиями. Например, вы можете раскрыть свойство MaxRetries в своем действии и выдать исключение только в том случае, если число превышено.

Panos 11.11.2008 03:28

яр. я могу поставить try catch в условие цикла и выбросить исключение, если количество повторных попыток превышает. Звучит немного грубо - я надеялся, что это уже сделано.

Pure.Krome 11.11.2008 04:10

Вы также можете прочитать эту статью в блоге о настраиваемом действии Retry: http://www.pluralsight.com/community/blogs/matt/archive/2007/11/28/49315.aspx

Похоже, это именно то, что вам может понадобиться!

Другие вопросы по теме