英語で読む

次の方法で共有


GetWorkflowEvent

現在のワークフロー イベントの名前をスタックにプッシュします。

構文


<wf:Operation Name="GetWorkflowEvent" />

パラメーター

[なし] :

プッシュされた値

現在のワークフロー イベントを表す文字列です。

注釈

ワークフロー インスタンスは、実行の過程でいくつかの状態を通過することがあります。 たとえば、ワークフロー インスタンスはアイドル状態になったり、中断されたりする場合があります。 ワークフロー インスタンスは、状態が変わるたびに、ランタイム追跡インフラストラクチャにワークフロー ステータス イベントを送出します。 Windows Workflow Foundation BAM インターセプターは、次の表に示すように、 列挙で定義されている System.Workflow.Runtime.Tracking.TrackingWorkflowEvent ほとんどのイベントをサポートしています。

アクティビティ イベント 説明
変更 ワークフロー インスタンスでワークフロー変更が発生しました。
完了 ワークフロー インスタンスは完了しました。
作成済み ワークフロー インスタンスが作成されました。
例外 未処理の例外が発生しました。
アイドル ワークフロー インスタンスはアイドル状態です。
読み込み ワークフロー インスタンスがメモリに読み込まれました。
Persisted ワークフロー インスタンスが永続化されました。
Resumed 中断状態だったワークフロー インスタンスが実行を再開しました。
Started ワークフロー インスタンスが開始されました。
Suspended ワークフロー インスタンスが中断されました。
終了 ワークフロー インスタンスは終了しました。
アンロードされました ワークフロー インスタンスがメモリからアンロードされました。

注意

同じ OnEvent 要素で GetWorkflowEventGetActivityEvent の両方を使用することはできません。

次のサンプルには、ワークフロー内の特定のアクティビティ "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>

この操作は、ワークフローの有効期間を追跡する場合、およびワークフローで発生する例外またはその他の問題を検出する場合に役立ちます。

参照

System.Workflow.Runtime.Tracking.TrackingWorkflowEvent 列挙体