アクティビティ実行コンテキストについて
ActivityExecutionContext (AEC) は、ホスト アプリケーションが Start メソッドを呼び出すときにアクティビティ用に作成される実行環境です。
AEC が提供する複合アクティビティには、子アクティビティの実行 (ExecuteActivity) または取り消し (CancelActivity) を行う機能があります。また、CloseActivity メソッドを介して自身を閉じることもできます。親アクティビティが AEC を介して制御できるのは、これらの実行ステータスの変更だけです。その他すべてのアクティビティ状態は、ワークフロー ランタイム エンジンによって制御されます。
AEC には、新しい AEC の生成を可能にする ExecutionContextManager というプロパティがあります。親アクティビティ (たとえば WhileActivity アクティビティ、ReplicatorActivity アクティビティ、または ConditionedActivityGroup アクティビティ) が子アクティビティを複数回にわたって実行するときには、常にこのような AEC が生成されます。実行が繰り返されるたびに、独自の AEC を持つ複製されたアクティビティが作成されます。こうして、子アクティビティのさまざまなインスタンスを個別に (さらに、ReplicatorActivity アクティビティの場合には並列的に) 実行できます。
加えて、ActivityExecutionContextManager は永続的なコンテキストや完了したコンテキストを回復します (このようなコンテキストではすべてのアクティビティが Closed または Initialized 状態にあり、オプションで永続にすることが可能です)。
メモ : |
---|
AEC は、それに関連したアクティビティが Closed または Initialized 状態にある場合にのみ終了できます。 |
アクティビティを閉じることができるのは、発生したすべての実行コンテキスト (CreateExecutionContext) が完了した (CompleteExecutionContext) 場合のみです。この動作に違反した場合、ワークフロー ランタイム エンジンによって例外がスローされます。
関連項目
概念
アクティビティ状態モデルについて
ReplicatorActivity アクティビティの使用
ConditionedActivityGroup アクティビティの使用
WhileActivity アクティビティの使用
StateActivity アクティビティの使用
EventHandlersActivity アクティビティの使用
その他の技術情報
Windows Workflow Foundation アクティビティ
Copyright © 2007 by Microsoft Corporation.All rights reserved.