Windows Workflow Foundation, исключения и повторные попытки?
-
07-07-2019 - |
Вопрос
У меня есть последовательный рабочий процесс с рядом действий.Для одного из этих действий необходим доступ к моей платной учетной записи S3.Это работает нормально, но, чтобы быть осторожным, я хотел бы убедиться, что он может справиться с непредвиденными ситуациями, такими как "Хост не найден" или некоторый тайм-аут и т.д.
Итак ..обычно я бы поместил код внутрь TRY / CATCH .Это прекрасно ..но я не уверен в том , что мне следует делать с рабочим процессом ..потому что, если код не завершается корректно, остальная часть рабочего процесса не должна выполняться (исходя из логики этого рабочего процесса).
Итак, я хотел, возможно, повторить попытку подключения несколько раз..и если это, наконец, не удастся, вызовите действие электронной почты и завершите рабочий процесс.
Кто-нибудь может внести какие-либо предложения, ссылки на видео или скрины, которые помогут показать, какова наилучшая практика для этого?
ваше здоровье!
Решение
Взгляните на FaultHandlerActivity
, который используется для обработки исключения типа , указанного FaultType
собственность.Некоторые ссылки об обработке ошибок в WF:
- Устранение неисправностей в рабочих процессах
- Использование действия FaultHandlerActivity
- Обработка исключений и ошибок (часть главы книги)
Другой способ заключается в использовании Activity.HandleFault
метод, который вызывается, когда возникает исключение в контексте выполнения вашего действия.
Другие советы
Возможно, вы также захотите ознакомиться с этой статьей в блоге о пользовательском повторном действии:http://www.pluralsight.com/community/blogs/matt/archive/2007/11/28/49315.aspx
Похоже, это как раз то, что вам может понадобиться!