2011-02-03 2 views
3

InvalidWorkflowException을 던집니다보다 효과적으로 워크 플로를 종료 할 수 있습니까? SQL 데이터베이스와 상호 작용하는 작업을 작성 중이므로 작업이 실패하면 단락이 발생합니다.워크 플로를 종료 하시겠습니까?

여러 단계/액티비티로 나눌 수 있고 체인을 연결할 수 있지만 액티비티 내에서 내 실행 상태를 설정할 수 있습니까?

과 같은 것 this.currentContext.SetState(Cancelled)?

답변

2

저는 실제로 워크 플로우가 어떻게 배치되었는지에 관해 생각합니다. 예외적 인 경우가 아니면 작업 흐름에서 처리하십시오. 속성을 설정하고 그 작업을 끝낼 수 있습니다. 다음 작업은 모든 처리를 중지할지 또는 후속 단계로 진행할지 결정하는 결정 작업이 될 수 있습니다.

예외적 인 경우 예외를 throw하고 모든 보상 논리를 수행해야합니다.

2

나는 Windows Workflow를 사용하는 것이 비교적 새롭기 때문에 솔직히 확신 할 수 없지만 NativeActivity을 사용하고 NativeActivityContext.CancelChildren을 보면 어떨까요?

MSDN의이 문서도 참고하십시오 : Modeling Cancellation Behavior in Workflow.

1

다른 프로그램과 같은 상황이라고 생각합니다. 귀하의 활동에 오류가 발생하면 try/catch 활동을 사용하여 WF를 정상적으로 종료하고 WF를 종료합니다.

관련 문제