GetWorkflowEvent
현재 워크플로 이벤트의 이름을 스택에 밀어넣습니다.
<wf:Operation Name="GetWorkflowEvent" />
없음
현재 워크플로 이벤트를 포함하는 문자열입니다.
워크플로 인스턴스는 실행되는 동안 여러 상태를 통과할 수 있습니다. 예를 들어 워크플로 인스턴스는 유휴 상태가 되거나 일시 중단될 수 있습니다. 워크플로 인스턴스는 상태가 변경될 때마다 워크플로 상태 이벤트를 런타임 추적 인프라에 내보냅니다. Windows Workflow Foundation BAM 인터셉터는 System.Workflow.Runtime.Tracking.TrackingWorkflowEvent
열거에서 정의된 이벤트를 대부분 지원합니다(아래 표 참조).
활동 이벤트 | Description |
---|---|
변경됨 | 워크플로 인스턴스에서 워크플로가 변경되었습니다. |
완료됨 | 워크플로 인스턴스가 완료되었습니다. |
생성일 | 워크플로 인스턴스가 생성되었습니다. |
예외 | 처리되지 않은 예외가 발생했습니다. |
유휴 상태 | 워크플로 인스턴스가 유휴 상태입니다. |
로드됨 | 워크플로 인스턴스가 메모리에 로드되었습니다. |
지속됨 | 워크플로 인스턴스가 지속되었습니다. |
다시 시작됨 | 이전에 일시 중단된 워크플로 인스턴스의 실행이 다시 시작되었습니다. |
시작됨 | 워크플로 인스턴스가 시작되었습니다. |
일시 중단 | 워크플로 인스턴스가 일시 중단되었습니다. |
종료됨 | 워크플로 인스턴스가 종료되었습니다. |
언로드됨 | 워크플로 인스턴스가 메모리에서 언로드되었습니다. |
참고
동일한 OnEvent 요소에 GetWorkflowEvent
와 GetActivityEvent
를 모두 사용할 수는 없습니다.
다음 샘플에는 워크플로에서 특정 활동("FoodAndDrinksPolicy")을 찾도록 구성된 필터가 포함되어 있습니다. 이 샘플의 필터는 닫힌 워크플로에서 "FoodAndDrinksPolicy"라는 활동을 찾도록 구성되어 있습니다. 이 작업을 위해 GetWorkflowEvent
에서 반환된 값을 "Created" 상수와 비교합니다.
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetWorkflowEvent" />
<ic:Operation Name="Constant">
<ic:Argument>Created</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals" />
</ic:Expression>
</ic:Filter>
이 작업은 워크플로의 수명을 추적하고 워크플로의 예외나 기타 문제를 검색하는 데 유용합니다.