次の方法で共有


ReplicatorActivity アクティビティの使用

ReplicatorActivity アクティビティによって、1 つのアクティビティの実行中に作成するインスタンスの数を任意に指定できます。個々の ReplicatorActivity アクティビティには、子アクティビティを 1 つだけ含めることができます。子アクティビティは複合アクティビティでもかまいません。

既定では、ReplicatorActivity アクティビティは、すべての子アクティビティが終了したときに終了します。UntilCondition プロパティを使用して、子アクティビティ インスタンスの完了前に ReplicatorActivity の実行を中止することができます。条件の詳細については、「ワークフロー内での条件の使用」を参照してください。

Noteメモ :

ReplicatorActivity アクティビティは、すべての子アクティビティが終了し、UntilCondition プロパティが false と評価されたときにハングします。このように ReplicatorActivity アクティビティがハングした場合は、ワークフロー変更を利用して、UntilCondition の評価を true にする子アクティビティを ReplicatorActivity アクティビティに追加できます。

ReplicatorActivity には、2 つの主な情報が必要です。

  • ExecutionType プロパティの設定は、Sequential (シーケンシャル) または Parallel (並列) にする必要があります。ExecutionType プロパティは、複製された子アクティビティのインスタンスが並列で実行しているか、シーケンシャルに実行しているかを示します。並列で実行されている場合は、すべてのインスタンスが ReplicatorActivity アクティビティ実行時に作成され、シーケンシャルに実行されている場合は、子アクティビティの各インスタンスは、前のインスタンス完了後に順に実行されます。

  • 子アクティビティの複製された各インスタンスにデータを提供するため、InitialChildData コレクション プロパティが設定されている必要があります。

ReplicatorActivity が実行される前に発生する Initialized ハンドラを実装して、InitialChildData コレクション プロパティを設定し、ExecutionType を設定することができます。

次のイベントに対して、ReplicatorActivity アクティビティと一緒に使用するハンドラを指定することもできます。

  • 子アクティビティのインスタンスが初期化されるたびに発生する ChildInitialized イベント。これは、InitialChildData コレクション内のアイテムのデータを、初期化される子の実際のインスタンスに渡します。ReplicatorChildEventArgs は、このハンドラのためのイベント引数を格納しています。

  • 子アクティビティの 1 インスタンスが終了するたびに発生する ChildCompleted イベント。ReplicatorChildEventArgs は、このハンドラのためのイベント引数を格納しています。

  • ReplicatorActivity の終了後に発生する Completed イベント。

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

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

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

関連項目

参照

ReplicatorActivity
ReplicatorChildEventArgs

概念

ワークフロー内での条件の使用
ルールと条件の概要

その他の技術情報

Replicator Sample
Windows Workflow Foundation アクティビティ

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.