Windows Workflow Foundation アクティビティ
Windows Workflow Foundation に含まれる既定のアクティビティ セットは、制御フロー、条件、イベント処理、状態管理、アプリケーションやサービスとの通信などの機能を提供します。ワークフローを設計するとき、Windows Workflow Foundation に付属のアクティビティを使用したり、独自のカスタム アクティビティを作成したりすることができます。
アクティビティは、ワークフローを構成する基本的なブロックのようなものです。ワークフローは、ツリー階層構造に編成されたアクティビティから成るセットです。各アクティビティは、ワークフロー内の 1 つのアクションを表します。単純なアクション (たとえば遅延)、または複数の子アクティビティからなる複合アクティビティが可能です。
ワークフローと同様に、アクティビティをシーケンシャルにすることができます。つまり、アクティビティ内のアクションの順序をデザイン時に指定できます。または、アクティビティをイベント ドリブンにすることもできます。つまり、実行時に外部イベントに基づいてアクティビティ内のアクションの順序を決定できます。
各アクティビティには、アクティビティの実行環境を表すアクティビティ実行コンテキストがあります。アクティビティ実行コンテキストは、特定の時点で特定のオブジェクトに固有な状態、パラメータ セット、構成体が存在するという点で、HTTP コンテキストと似ています。ReplicatorActivity アクティビティ、WhileActivity アクティビティなどのいくつかの複合アクティビティは実行時に、その子アクティビティの複数のインスタンスを作成し、それぞれの子アクティビティは各自のアクティビティ実行コンテキストにおいて動作します。アクティビティ実行コンテキストの詳細については、「アクティビティ実行コンテキストについて」を参照してください。
また、各アクティビティは有効期間内にさまざまな状態に移行します。これらの移行の中には、ワークフロー ランタイム エンジンによって制御される移行もあれば、ユーザー制御が可能な移行もあります (たとえば Executing から Closed への子アクティビティの移行)。アクティビティ状態の詳細については、「アクティビティ状態モデルについて」を参照してください。
次の表は、Windows Workflow Foundation 基本アクティビティ ライブラリに含まれるアクティビティの一覧です。
アクティビティ | 説明 |
---|---|
HandleExternalEventActivity アクティビティと共に、ローカル サービスとの入出力に使用されます。詳細については、「CallExternalMethodActivity アクティビティの使用」を参照してください。 |
|
これは、複合アクティビティのすべての子アクティビティの実行が完了する前に取り消された複合アクティビティのクリーンアップ ロジックを格納するために使用されます。詳細については、「CancellationHandlerActivity アクティビティの使用」を参照してください。 |
|
Visual Basic または C# のコードをワークフローに追加できます。詳細については、「CodeActivity アクティビティの使用」を参照してください。 |
|
SequenceActivity の補正可能バージョンです。詳細については、「CompensatableSequenceActivity アクティビティの使用」を参照してください。 |
|
TransactionScopeActivity の補正可能バージョンです。詳細については、「CompensatableTransactionScopeActivity アクティビティの使用」を参照してください。 |
|
エラー発生時に、ワークフローによって実行された操作を取り消すか補正するコードを呼び出すことができます。詳細については、「CompensateActivity アクティビティの使用」を参照してください。 |
|
完了した TransactionScopeActivity アクティビティ用の補正を実行する 1 つまたは複数のアクティビティのラッパー。詳細については、「CompensationHandlerActivity アクティビティの使用」を参照してください。 |
|
ConditionedActivityGroup アクティビティ自体に適用される条件と、それぞれの子に個別に適用される条件に基づいて、子アクティビティを実行します。詳細については、「ConditionedActivityGroup アクティビティの使用」を参照してください。 |
|
タイムアウト期間に基づいて、ワークフロー内に遅延を作成できます。詳細については、「DelayActivity アクティビティの使用」を参照してください。 |
|
指定されたイベントが発生すると実行される 1 つまたは複数のアクティビティをラップします。詳細については、「EventDrivenActivity アクティビティの使用」を参照してください。 |
|
イベントをアクティビティに関連付けるフレームワークを提供します。詳細については、「EventHandlersActivity アクティビティの使用」を参照してください。 |
|
EventHandlersActivity アクティビティと共に、主要な子アクティビティを同時に実行します。詳細については、「EventHandlingScopeActivity アクティビティの使用」を参照してください。 |
|
指定した種類の例外を処理するために使用します。詳細については、「FaultHandlerActivity アクティビティの使用」を参照してください。 |
|
FaultHandlerActivity 型の子アクティビティの順序付きリストを持つ複合アクティビティを表します。詳細については、「FaultHandlersActivity アクティビティの使用」を参照してください。 |
|
CallExternalMethodActivity アクティビティと共に、ローカル サービスとの入出力通信に使用されます。詳細については、「HandleExternalEventActivity アクティビティの使用」を参照してください。 |
|
各分岐の条件を判定し、条件が true に評価された最初の分岐のアクティビティを実行します。詳細については、「IfElseActivity アクティビティの使用」を参照してください。 |
|
IfElseActivity アクティビティの分岐を表します。詳細については、「IfElseBranchActivity アクティビティの使用」を参照してください。 |
|
ワークフローから Web サービスを呼び出すことができます。詳細については、「InvokeWebServiceActivity アクティビティの使用」を参照してください。 |
|
ワークフローから別のワークフローを呼び出すことができます。詳細については、「InvokeWorkflowActivity アクティビティの使用」を参照してください。 |
|
EventDrivenActivity 子アクティビティだけを含む複合アクティビティ。詳細については、「ListenActivity アクティビティの使用」を参照してください。 |
|
これを使用すると、同時に処理される複数の子 SequenceActivity アクティビティ分岐をスケジュールできます。詳細については、「ParallelActivity アクティビティの使用」を参照してください。 |
|
ルールのコレクションを表すために使用されます。ルールは、条件とその結果としてのアクションから構成されます。詳細については、「PolicyActivity アクティビティの使用」を参照してください。 |
|
1 つの子アクティビティから複数のインスタンスを作成します。詳細については、「ReplicatorActivity アクティビティの使用」を参照してください。 |
|
複数のアクティビティをまとめて順次実行するための簡単な方法を提供します。詳細については、「SequenceActivity アクティビティの使用」を参照してください。 |
|
新しい状態への移行を指定します。詳細については、「SetStateActivity アクティビティの使用」を参照してください。 |
|
ステート マシン ワークフローにおける状態を表します。詳細については、「StateActivity アクティビティの使用」を参照してください。 |
|
StateActivity アクティビティの終了時に実行される子アクティビティのコンテナとして、StateActivity アクティビティ内で使用されます。詳細については、「StateFinalizationActivity アクティビティの使用」を参照してください。 |
|
StateActivity アクティビティの開始時に実行される子アクティビティのコンテナとして、StateActivity アクティビティ内で使用されます。詳細については、「StateInitializationActivity アクティビティの使用」を参照してください。 |
|
特に注意が必要なエラー条件が発生したとき、ワークフローの実行を保留して介入できるようにします。詳細については、「SuspendActivity アクティビティの使用」を参照してください。 |
|
同期されたドメイン内に含まれるアクティビティを順次実行します。詳細については、「SynchronizationScopeActivity アクティビティの使用」を参照してください。 |
|
エラー条件が発生したとき、ワークフローの実行を即座に終了できます。詳細については、「TerminateActivity アクティビティの使用」を参照してください。 |
|
ワークフローのプロセス メタデータの一部としてスローされた業務処理例外をキャプチャできます。詳細については、「ThrowActivity アクティビティの使用」を参照してください。 |
|
トランザクションと例外処理のフレームワークを提供します。詳細については、「TransactionScopeActivity アクティビティの使用」を参照してください。 |
|
Web サービスで発生するエラーをモデル化できます。詳細については、「WebServiceFaultActivity アクティビティの使用」を参照してください。 |
|
Web サービスからデータを取得します。詳細については、「WebServiceInputActivity アクティビティの使用」を参照してください。 |
|
Web サービスからワークフローに対する要求に応答します。詳細については、「WebServiceOutputActivity アクティビティの使用」を参照してください。 |
|
条件が満たされるまで、ワークフローをループさせることができます。詳細については、「WhileActivity アクティビティの使用」を参照してください。 |
独自のアクティビティを作成する方法については、「ワークフロー アクティビティの開発」を参照してください。
このセクションの内容
CallExternalMethodActivity アクティビティの使用
CancellationHandlerActivity アクティビティの使用
CompensatableSequenceActivity アクティビティの使用
CompensatableTransactionScopeActivity アクティビティの使用
CompensationHandlerActivity アクティビティの使用
ConditionedActivityGroup アクティビティの使用
EventDrivenActivity アクティビティの使用
EventHandlersActivity アクティビティの使用
EventHandlingScopeActivity アクティビティの使用
FaultHandlerActivity アクティビティの使用
FaultHandlersActivity アクティビティの使用
HandleExternalEventActivity アクティビティの使用
IfElseBranchActivity アクティビティの使用
InvokeWebServiceActivity アクティビティの使用
InvokeWorkflowActivity アクティビティの使用
StateFinalizationActivity アクティビティの使用
StateInitializationActivity アクティビティの使用
SynchronizationScopeActivity アクティビティの使用
TransactionScopeActivity アクティビティの使用
WebServiceFaultActivity アクティビティの使用
WebServiceInputActivity アクティビティの使用
WebServiceOutputActivity アクティビティの使用
参照
System.Workflow.ComponentModel
関連項目
Copyright © 2007 by Microsoft Corporation.All rights reserved.