GetWorkflowEvent
現在のワークフロー イベントの名前をスタックにプッシュします。
<wf:Operation Name="GetWorkflowEvent" />
[なし] :
現在のワークフロー イベントを表す文字列です。
ワークフロー インスタンスは、実行の過程でいくつかの状態を通過することがあります。 たとえば、ワークフロー インスタンスはアイドル状態になったり、中断されたりする場合があります。 ワークフロー インスタンスは、状態が変わるたびに、ランタイム追跡インフラストラクチャにワークフロー ステータス イベントを送出します。 Windows Workflow Foundation BAM インターセプターは、次の表に示すように、 列挙で定義されている System.Workflow.Runtime.Tracking.TrackingWorkflowEvent
ほとんどのイベントをサポートしています。
アクティビティ イベント | 説明 |
---|---|
変更 | ワークフロー インスタンスでワークフロー変更が発生しました。 |
完了 | ワークフロー インスタンスは完了しました。 |
作成済み | ワークフロー インスタンスが作成されました。 |
例外 | 未処理の例外が発生しました。 |
アイドル | ワークフロー インスタンスはアイドル状態です。 |
読み込み | ワークフロー インスタンスがメモリに読み込まれました。 |
Persisted | ワークフロー インスタンスが永続化されました。 |
Resumed | 中断状態だったワークフロー インスタンスが実行を再開しました。 |
Started | ワークフロー インスタンスが開始されました。 |
Suspended | ワークフロー インスタンスが中断されました。 |
終了 | ワークフロー インスタンスは終了しました。 |
アンロードされました | ワークフロー インスタンスがメモリからアンロードされました。 |
注意
同じ 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>
この操作は、ワークフローの有効期間を追跡する場合、およびワークフローで発生する例外またはその他の問題を検出する場合に役立ちます。