Workflow 4 Восстановление необработанных исключений - PullRequest
1 голос
/ 17 августа 2010

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

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

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

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

1 Ответ

4 голосов
/ 18 августа 2010

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

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

...