次の方法で共有


ConditionedActivityGroup アクティビティの使用

ConditionedActivityGroup アクティビティには子アクティビティのコレクションが格納され、それらの子アクティビティの実行順序は条件によって制御されます。条件の詳細については、「ワークフロー内での条件の使用」を参照してください。

ConditionedActivityGroup アクティビティの条件駆動型の実行ロジックを使用すると、子アクティビティの実行順序をさまざまな方法で制御できます (ParallelActivity アクティビティと同じようなアクティビティ並列実行、ループのような動作など)。たとえば、ConditionedActivityGroup アクティビティを使用すると、ConditionedActivityGroup 全体に関して Until 条件が true になるまで、各アクティビティ固有の条件に従ってアクティビティ セットをループできます。

Until 条件を ConditionedActivityGroup アクティビティに適用するには、UntilConditionProperty を使用します。WhenConditionProperty を使用すれば、When 条件を ConditionedActivityGroup 内のそれぞれの子アクティビティ (第 1 世代の子孫) に個別に適用できます。Until 条件を指定しない場合、実行中の子アクティビティが存在しなければ ConditionedActivityGroup アクティビティは完了して、ConditionedActivityGroup のそれぞれの子アクティビティに関する When 条件が false と評価されます。アクティビティに関する When 条件を指定しない場合、アクティビティは一度だけ実行されます。

ConditionedActivityGroup アクティビティは、最初に実行を開始するときに Until 条件を評価します。Until 条件が false と評価された場合、ConditionedActivityGroup アクティビティに含まれるすべての子アクティビティの When 条件が評価されます。アクティビティの When 条件が true と評価された場合、そのアクティビティの実行がスケジュールされます。このような Until および When 条件の評価は、1 つの子アクティビティが完了するたびに繰り返されます。

1 つの実行中の子アクティビティが完了するたびに、ConditionedActivityGroup アクティビティの Until 条件、および実行中でないすべての子アクティビティの When 条件が再評価されます。したがって、完了したばかりのアクティビティの結果に応じて、他の子アクティビティの実行が新たにスケジュールされるか、再スケジュールされます。ConditionedActivityGroup アクティビティの Until 条件が true と評価されると、現在実行中のすべての子アクティビティは直ちに取り消されます。

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

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

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

関連項目

参照

ConditionedActivityGroup
UntilConditionProperty
WhenConditionProperty

概念

ワークフロー内での条件の使用
ParallelActivity アクティビティの使用
方法 : コードを通して条件を使用する
ルールと条件の概要

その他の技術情報

Rules and Conditions Samples
Using ConditionedActivityGroup Sample
Windows Workflow Foundation アクティビティ

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.