WF의 흐름 제어 활동
이 항목은 Windows Workflow Foundation 4에 적용됩니다.
.NET Framework 버전 4에서는 워크플로 내의 실행 흐름 제어를 위한 다양한 활동을 제공합니다. Switch 및 If와 같은 활동은 프로그래밍 환경(예: Visual C#)에서와 비슷한 흐름 제어 구조를 구현하지만, Pick과 같은 활동은 새 프로그래밍 구조를 모델링합니다.
Parallel, ParallelForEach 및 ParallelForEach과 같은 활동은 동시에 실행할 여러 자식 활동을 예약하지만, 스레드는 워크플로별로 하나씩만 사용됩니다. 이러한 활동의 각 자식 활동은 순차적으로 실행되며 이전 활동이 완료되거나 유휴 상태로 전환될 때까지는 다음 활동이 실행되지 않습니다. 따라서 이러한 활동은 다른 활동을 차단하는 여러 활동을 인터리브하게 실행해야 하는 응용 프로그램에 매우 유용합니다. 이러한 활동의 자식 활동이 차단되거나 유휴 상태로 전환되지 않는 경우에는 Parallel 활동은 Sequence 활동처럼 실행되고 ParallelForEach 활동은 ForEach 활동처럼 실행됩니다. 하지만 비동기 활동(예: AsyncCodeActivity에서 파생된 활동 또는 메시징 활동)이 사용되는 경우에는 Parallel 활동의 자식이 실행을 위한 새 스레드를 생성합니다.
흐름 제어 활동
활동 | 설명 |
---|---|
포함된 활동을 한 번 실행하면 조건이 true인 동안 계속 실행됩니다. |
|
ForEach |
컬렉션의 각 요소에 대해 포함 문을 차례로 실행합니다. ForEach는 키워드 foreach와 비슷하지만 언어 문이 아니라 활동으로 구현됩니다. |
If |
조건이 true이면 포함된 활동을 실행하고, 조건이 false이면 Else 속성에 포함된 활동을 실행할 수 있습니다. |
Parallel |
포함된 활동을 병렬로 실행합니다. |
ParallelForEach |
컬렉션의 각 요소에 대한 포함 문을 병렬로 실행합니다. |
Pick |
이벤트 기반 제어 흐름 모델링을 제공합니다. |
Sequence |
포함된 활동을 차례로 실행합니다. |
Switch |
지정된 식의 값을 기준으로 많은 활동 중에서 실행할 활동 하나를 선택합니다. |
조건이 true이면 포함된 활동을 실행합니다. |