次の方法で共有


StateActivity アクティビティの使用

ステート マシン ワークフローの主なコンポーネントは、StateActivity アクティビティです。ステート マシン ワークフロー内のさまざまなポイントでイベントがキャプチャされると、イベントに関連したタスクを処理するさまざまなステートに移行します。有効期間中、ワークフローはいくつかの異なるステート間を遷移します。これらのステートは、SetStateActivity アクティビティを使用して相互に接続されます。

新しい StateActivity アクティビティをワークフローに挿入する場合は、EventDrivenActivity アクティビティ、StateInitializationActivity アクティビティ、StateFinalizationActivity アクティビティ、あるいは StateActivity インスタンスを子として追加できます。StateActivity アクティビティの子アクティビティを実行できるかどうかが、外部イベントの発生に依存している場合は、EventDrivenActivity アクティビティを使用します。

子アクティビティを 2 回以上実行すると、実行するたびに、アクティビティの新しいインスタンスが生成されます。これにより、各インスタンスが独立に実行されます (場合によっては ReplicatorActivity アクティビティのように並列に実行されることもあります)。結果として、アクティビティ ツリー内の子アクティビティの定義 (テンプレートとして参照される) は決して実行されず、常に Initialized 状態になります。テンプレートの実行中インスタンスには、テンプレートの親である複合アクティビティを使用してアクセスできます。たとえば、StateActivity アクティビティの場合、常に有効なインスタンスが 1 つあり、GetDynamicActivity メソッドがこのインスタンスを取得します。

StateInitializationActivity アクティビティは、格納している StateActivity アクティビティへの移行時に実行されるアクティビティのコンテナです。StateFinalizationActivity アクティビティは、StateActivity アクティビティ終了時に実行される子アクティビティのコンテナです。

詳細については、『Windows Workflow Foundation クラス ライブラリ リファレンス』の System.Workflow.Activities 名前空間にある StateActivity クラスを参照してください。

StateActivity アクティビティの使用方法を示すコード サンプルについては、「Simple State Machine」を参照してください。

関連項目

参照

StateActivity
SetStateActivity
EventDrivenActivity
StateInitializationActivity
StateFinalizationActivity

概念

ステート マシン ワークフロー
EventDrivenActivity アクティビティの使用
StateInitializationActivity アクティビティの使用
StateFinalizationActivity アクティビティの使用
SetStateActivity アクティビティの使用

その他の技術情報

Simple State Machine Sample
Windows Workflow Foundation アクティビティ

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.