Windows Workflow Foundation, исключения и повторы? - PullRequest
3 голосов
/ 11 ноября 2008

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

Итак ... я бы обычно помещал код в TRY / CATCH. Это нормально ... но я не уверен, что я должен делать с рабочим процессом ... потому что, если код не может завершиться правильно, остальная часть рабочего процесса не должна возникать (основываясь на логике этого рабочего процесса).

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

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

ура!

Ответы [ 2 ]

3 голосов
/ 16 декабря 2008

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

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

2 голосов
/ 11 ноября 2008

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

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

...