2009-10-30 2 views
2

FaultActivityHandler에서 예외를 처리 중입니다. 그 마지막에 워크 플로를 종료하고 싶습니다. 이를 위해, 결함 처리기에 TerminateActivity를 추가했습니다. 이렇게하면 워크 플로우가 오류가 발생합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? if-else를 사용하여 오류 플래그를 확인할 수는 있지만, 이것은 오른쪽면이 아무 것도하지 않았지만 워크 플로우의 끝으로 건너 뛴 많은 중첩 된 if-else로 끝날 것입니다.Windows 워크 플로 - TerminateActivity로 인해 워크 플로에 오류가 발생합니까?

워크 플로를 정상적으로 끝내는 확실한 방법이 없거나 이 아니면 예외로 인해 종료 할 때 오류가 발생합니까?

답변

1

가장 쉬운 방법은 일부 사용자 지정 예외와 함께 ThrowActivity를 추가하고 워크 플로 수준에서 해당 사용자 지정 예외를 잡는 것입니다. 그렇게하면 워크 플로우는 정상적으로 종료되지만 다른 모든 활동은 건너 뜁니다.

+0

나는 WF를 위해 의도 된 방식으로 생각하지 않는다고 생각한다. 워크 플로우의 끝점은 예외를 던지기보다는 자연스럽게 처리하는 것입니다. (후자는 btw가 내 dev 시스템에서 매우 느립니다.) – Brian

+0

그래서 예외가 발생하지 않도록 주변에 예외를 던지지 않는 이유는 다음과 같습니다. 그러나 예기치 않은 문제가 있고 처리를 중지하려면 이동하는 것이 좋습니다. 그리고 정규 코드에서이 코드는 다름 없으며 코드에 많은 추가 테스트를 추가하게됩니다. – Maurice

+0

간단한 엔드 포인트가 더 적합 할 것 같습니다. 이미 예외를 잡아서 처리했지만 워크 플로우가 이제 끝나야합니다. if-else 문을 중첩하면 단순히 예외를 다시 던지는 것과 마찬가지로이 문제를 해결하기가 어려울 수 있습니다. – Brian

관련 문제