Рабочий процесс 4 Восстановление необработанного исключения

Есть ли способ восстановления после необработанного исключения, который не включает отмену, завершение или прерывание рабочего процесса?

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

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

Желательна ли компенсация в этом случае?


person Jeff LaFay    schedule 17.08.2010    source источник


Ответы (1)


Если вы используете постоянство рабочего процесса и прерываете рабочий процесс, он сможет перезапуститься из последнего сохраненного состояния в магазине. Добавление действий Persist в стратегические места вашего рабочего процесса гарантирует, что предыдущее сохраненное состояние является хорошей точкой для перезапуска.

Обратите внимание, что с WorkflowApplication в качестве хоста вы должны перезагрузить его самостоятельно. Лучшим способом было бы добавить обратный вызов к свойству Aborted, который запускается при прерывании рабочего процесса. Там вы создаете новое приложение WorkflowApplication, загружаете тот же экземпляр рабочего процесса и возобновляете его.

person Maurice    schedule 18.08.2010
comment
Это именно та функциональность, которую я искал, большое спасибо за отличный ответ, Морис :) - person Jeff LaFay; 18.08.2010