Windows Workflow Foundation アクティビティ

Windows Workflow Foundation に含まれる既定のアクティビティ セットは、制御フロー、条件、イベント処理、状態管理、アプリケーションやサービスとの通信などの機能を提供します。ワークフローを設計するとき、Windows Workflow Foundation に付属のアクティビティを使用したり、独自のカスタム アクティビティを作成したりすることができます。

アクティビティは、ワークフローを構成する基本的なブロックのようなものです。ワークフローは、ツリー階層構造に編成されたアクティビティから成るセットです。各アクティビティは、ワークフロー内の 1 つのアクションを表します。単純なアクション (たとえば遅延)、または複数の子アクティビティからなる複合アクティビティが可能です。

ワークフローと同様に、アクティビティをシーケンシャルにすることができます。つまり、アクティビティ内のアクションの順序をデザイン時に指定できます。または、アクティビティをイベント ドリブンにすることもできます。つまり、実行時に外部イベントに基づいてアクティビティ内のアクションの順序を決定できます。

各アクティビティには、アクティビティの実行環境を表すアクティビティ実行コンテキストがあります。アクティビティ実行コンテキストは、特定の時点で特定のオブジェクトに固有な状態、パラメータ セット、構成体が存在するという点で、HTTP コンテキストと似ています。ReplicatorActivity アクティビティ、WhileActivity アクティビティなどのいくつかの複合アクティビティは実行時に、その子アクティビティの複数のインスタンスを作成し、それぞれの子アクティビティは各自のアクティビティ実行コンテキストにおいて動作します。アクティビティ実行コンテキストの詳細については、「アクティビティ実行コンテキストについて」を参照してください。

また、各アクティビティは有効期間内にさまざまな状態に移行します。これらの移行の中には、ワークフロー ランタイム エンジンによって制御される移行もあれば、ユーザー制御が可能な移行もあります (たとえば Executing から Closed への子アクティビティの移行)。アクティビティ状態の詳細については、「アクティビティ状態モデルについて」を参照してください。

次の表は、Windows Workflow Foundation 基本アクティビティ ライブラリに含まれるアクティビティの一覧です。

アクティビティ 説明

CallExternalMethodActivity

HandleExternalEventActivity アクティビティと共に、ローカル サービスとの入出力に使用されます。詳細については、「CallExternalMethodActivity アクティビティの使用」を参照してください。

CancellationHandlerActivity

これは、複合アクティビティのすべての子アクティビティの実行が完了する前に取り消された複合アクティビティのクリーンアップ ロジックを格納するために使用されます。詳細については、「CancellationHandlerActivity アクティビティの使用」を参照してください。

CodeActivity

Visual Basic または C# のコードをワークフローに追加できます。詳細については、「CodeActivity アクティビティの使用」を参照してください。

CompensatableSequenceActivity

SequenceActivity の補正可能バージョンです。詳細については、「CompensatableSequenceActivity アクティビティの使用」を参照してください。

CompensatableTransactionScopeActivity

TransactionScopeActivity の補正可能バージョンです。詳細については、「CompensatableTransactionScopeActivity アクティビティの使用」を参照してください。

CompensateActivity

エラー発生時に、ワークフローによって実行された操作を取り消すか補正するコードを呼び出すことができます。詳細については、「CompensateActivity アクティビティの使用」を参照してください。

CompensationHandlerActivity

完了した TransactionScopeActivity アクティビティ用の補正を実行する 1 つまたは複数のアクティビティのラッパー。詳細については、「CompensationHandlerActivity アクティビティの使用」を参照してください。

ConditionedActivityGroup

ConditionedActivityGroup アクティビティ自体に適用される条件と、それぞれの子に個別に適用される条件に基づいて、子アクティビティを実行します。詳細については、「ConditionedActivityGroup アクティビティの使用」を参照してください。

DelayActivity

タイムアウト期間に基づいて、ワークフロー内に遅延を作成できます。詳細については、「DelayActivity アクティビティの使用」を参照してください。

EventDrivenActivity

指定されたイベントが発生すると実行される 1 つまたは複数のアクティビティをラップします。詳細については、「EventDrivenActivity アクティビティの使用」を参照してください。

EventHandlersActivity

イベントをアクティビティに関連付けるフレームワークを提供します。詳細については、「EventHandlersActivity アクティビティの使用」を参照してください。

EventHandlingScopeActivity

EventHandlersActivity アクティビティと共に、主要な子アクティビティを同時に実行します。詳細については、「EventHandlingScopeActivity アクティビティの使用」を参照してください。

FaultHandlerActivity

指定した種類の例外を処理するために使用します。詳細については、「FaultHandlerActivity アクティビティの使用」を参照してください。

FaultHandlersActivity

FaultHandlerActivity 型の子アクティビティの順序付きリストを持つ複合アクティビティを表します。詳細については、「FaultHandlersActivity アクティビティの使用」を参照してください。

HandleExternalEventActivity

CallExternalMethodActivity アクティビティと共に、ローカル サービスとの入出力通信に使用されます。詳細については、「HandleExternalEventActivity アクティビティの使用」を参照してください。

IfElseActivity

各分岐の条件を判定し、条件が true に評価された最初の分岐のアクティビティを実行します。詳細については、「IfElseActivity アクティビティの使用」を参照してください。

IfElseBranchActivity

IfElseActivity アクティビティの分岐を表します。詳細については、「IfElseBranchActivity アクティビティの使用」を参照してください。

InvokeWebServiceActivity

ワークフローから Web サービスを呼び出すことができます。詳細については、「InvokeWebServiceActivity アクティビティの使用」を参照してください。

InvokeWorkflowActivity

ワークフローから別のワークフローを呼び出すことができます。詳細については、「InvokeWorkflowActivity アクティビティの使用」を参照してください。

ListenActivity

EventDrivenActivity 子アクティビティだけを含む複合アクティビティ。詳細については、「ListenActivity アクティビティの使用」を参照してください。

ParallelActivity

これを使用すると、同時に処理される複数の子 SequenceActivity アクティビティ分岐をスケジュールできます。詳細については、「ParallelActivity アクティビティの使用」を参照してください。

PolicyActivity

ルールのコレクションを表すために使用されます。ルールは、条件とその結果としてのアクションから構成されます。詳細については、「PolicyActivity アクティビティの使用」を参照してください。

ReplicatorActivity

1 つの子アクティビティから複数のインスタンスを作成します。詳細については、「ReplicatorActivity アクティビティの使用」を参照してください。

SequenceActivity

複数のアクティビティをまとめて順次実行するための簡単な方法を提供します。詳細については、「SequenceActivity アクティビティの使用」を参照してください。

SetStateActivity

新しい状態への移行を指定します。詳細については、「SetStateActivity アクティビティの使用」を参照してください。

StateActivity

ステート マシン ワークフローにおける状態を表します。詳細については、「StateActivity アクティビティの使用」を参照してください。

StateFinalizationActivity

StateActivity アクティビティの終了時に実行される子アクティビティのコンテナとして、StateActivity アクティビティ内で使用されます。詳細については、「StateFinalizationActivity アクティビティの使用」を参照してください。

StateInitializationActivity

StateActivity アクティビティの開始時に実行される子アクティビティのコンテナとして、StateActivity アクティビティ内で使用されます。詳細については、「StateInitializationActivity アクティビティの使用」を参照してください。

SuspendActivity

特に注意が必要なエラー条件が発生したとき、ワークフローの実行を保留して介入できるようにします。詳細については、「SuspendActivity アクティビティの使用」を参照してください。

SynchronizationScopeActivity

同期されたドメイン内に含まれるアクティビティを順次実行します。詳細については、「SynchronizationScopeActivity アクティビティの使用」を参照してください。

TerminateActivity

エラー条件が発生したとき、ワークフローの実行を即座に終了できます。詳細については、「TerminateActivity アクティビティの使用」を参照してください。

ThrowActivity

ワークフローのプロセス メタデータの一部としてスローされた業務処理例外をキャプチャできます。詳細については、「ThrowActivity アクティビティの使用」を参照してください。

TransactionScopeActivity

トランザクションと例外処理のフレームワークを提供します。詳細については、「TransactionScopeActivity アクティビティの使用」を参照してください。

WebServiceFaultActivity

Web サービスで発生するエラーをモデル化できます。詳細については、「WebServiceFaultActivity アクティビティの使用」を参照してください。

WebServiceInputActivity

Web サービスからデータを取得します。詳細については、「WebServiceInputActivity アクティビティの使用」を参照してください。

WebServiceOutputActivity

Web サービスからワークフローに対する要求に応答します。詳細については、「WebServiceOutputActivity アクティビティの使用」を参照してください。

WhileActivity

条件が満たされるまで、ワークフローをループさせることができます。詳細については、「WhileActivity アクティビティの使用」を参照してください。

独自のアクティビティを作成する方法については、「ワークフロー アクティビティの開発」を参照してください。

このセクションの内容

アクティビティ実行コンテキストについて

アクティビティ状態モデルについて

CallExternalMethodActivity アクティビティの使用

CancellationHandlerActivity アクティビティの使用

CodeActivity アクティビティの使用

CompensatableSequenceActivity アクティビティの使用

CompensatableTransactionScopeActivity アクティビティの使用

CompensateActivity アクティビティの使用

CompensationHandlerActivity アクティビティの使用

ConditionedActivityGroup アクティビティの使用

DelayActivity アクティビティの使用

EventDrivenActivity アクティビティの使用

EventHandlersActivity アクティビティの使用

EventHandlingScopeActivity アクティビティの使用

FaultHandlerActivity アクティビティの使用

FaultHandlersActivity アクティビティの使用

HandleExternalEventActivity アクティビティの使用

IfElseActivity アクティビティの使用

IfElseBranchActivity アクティビティの使用

InvokeWebServiceActivity アクティビティの使用

InvokeWorkflowActivity アクティビティの使用

ListenActivity アクティビティの使用

ParallelActivity アクティビティの使用

PolicyActivity アクティビティの使用

ReplicatorActivity アクティビティの使用

SequenceActivity アクティビティの使用

SetStateActivity アクティビティの使用

StateActivity アクティビティの使用

StateFinalizationActivity アクティビティの使用

StateInitializationActivity アクティビティの使用

SuspendActivity アクティビティの使用

SynchronizationScopeActivity アクティビティの使用

TerminateActivity アクティビティの使用

ThrowActivity アクティビティの使用

TransactionScopeActivity アクティビティの使用

WebServiceFaultActivity アクティビティの使用

WebServiceInputActivity アクティビティの使用

WebServiceOutputActivity アクティビティの使用

WhileActivity アクティビティの使用

参照

System.Workflow.Activities

System.Workflow.ComponentModel

関連項目

ワークフロー アクティビティの開発

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.