Verwenden der ReplicatorActivity-Aktivität
Die ReplicatorActivity-Aktivität ermöglicht das Erstellen einer willkürlichen Anzahl von Instanzen einer Einzelaktivität während der Laufzeit. Jede ReplicatorActivity-Aktivität darf nur eine untergeordnete Aktivität enthalten, aber die untergeordnete Aktivität kann eine zusammengesetzte Aktivität sein.
Standardmäßig wird die ReplicatorActivity-Aktivität beendet, wenn alle untergeordneten Aktivitäten beendet wurden. Mit der UntilCondition-Eigenschaft kann die Ausführung von ReplicatorActivity vor Abschluss der untergeordneten Aktivitätsinstanzen beendet werden. Weitere Informationen zu Bedingungen finden Sie unter Verwenden der Bedingungen in Workflows.
Hinweis
Die ReplicatorActivity-Aktivität reagiert nicht mehr, falls alle untergeordneten Aktivitäten beendet wurden und die UntilCondition-Eigenschaft false ergibt. Reagiert die ReplicatorActivity-Aktivität auf derartige Weise nicht mehr, kann der ReplicatorActivity-Aktivität durch eine Workflowänderung eine untergeordnete Aktivität hinzugefügt werden, durch die UntilConditiontrue ergibt.
ReplicatorActivity erfordert zwei wesentliche Informationen:
Die ExecutionType-Eigenschaft muss auf Sequenziell oder Parallel festgelegt werden. Die ExecutionType-Eigenschaft gibt an, ob replizierte untergeordnete Aktivitätsinstanzen parallel ausgeführt werden. In diesem Fall werden alle Instanzen bei Ausführung der ReplicatorActivity-Aktivität erstellt. Werden die untergeordneten Instanzen der Reihe nach ausgeführt (sequenziell), wird jede Instanz der untergeordneten Aktivität nach Abschluss der vorherigen Instanz der Reihe nach ausgeführt.
Die InitialChildData-Auflistungseigenschaft muss aufgefüllt werden, um die Daten für jede Replikatinstanz der untergeordneten Aktivität bereitzustellen.
Sie können den Initialized-Handler implementieren, der vor dem Beginn der Ausführung von ReplicatorActivity ausgelöst wird, um die InitialChildData-Auflistungeigenschaft zu füllen und ExecutionType festzulegen.
Sie können auch Handler für die folgenden Ereignisse angeben, die zusammen mit der ReplicatorActivity-Aktivität verwendet werden sollen:
Das ChildInitialized-Ereignis, das bei jeder Initialisierung der untergeordneten Aktivität ausgelöst wird, übergibt die Daten vom Element in der InitialChildData-Auflistung der tatsächlichen Instanz des initialisierten untergeordneten Elements. ReplicatorChildEventArgs beinhaltet die Ereignisargumente für diesen Handler.
Das ChildCompleted-Ereignis, das bei jedem Beenden der untergeordneten Aktivität ausgelöst wird. ReplicatorChildEventArgs beinhaltet die Ereignisargumente für diesen Handler.
Das Completed-Ereignis, das nach dem Beenden von ReplicatorActivity ausgelöst wird.
Wird eine untergeordnete Aktivität mehr als einmal ausgeführt, wird für jede Iteration eine separate Instanz der untergeordneten Aktivität erstellt. Dies ermöglicht die unabhängige Ausführung von Instanzen (im Falle der ConditionedActivityGroup-Aktivität bei Bedarf auch eine parallele Ausführung). Infolgedessen wird die Definition der Aktivität in der Aktivitätsstruktur (wird als Vorlage bezeichnet) niemals ausgeführt und befindet sich immer im Initialized-Zustand. Zugriff auf die aktiven Instanzen der Vorlage wird durch die zusammengesetzte Aktivität ermöglicht, bei der es sich um das übergeordnete Element der Vorlage handelt. Beispielsweise können bei einer ReplicatorActivity-Aktivität mehrere aktive Instanzen vorhanden sein, sodass ReplicatorActivity.DynamicActivities eine Auflistung der ausgeführten Instanzen der untergeordneten Aktivität zurückgibt.
Weitere Informationen finden Sie in der ReplicatorActivity-Klasse des System.Workflow.Activities-Namespace in der Referenz zur Klassenbibliothek von Windows Workflow Foundation.
Ein Codebeispiel, in dem die Verwendung der ReplicatorActivity-Aktivität veranschaulicht wird, finden Sie unter Using Replicator.
Siehe auch
Referenz
ReplicatorActivity
ReplicatorChildEventArgs
Konzepte
Verwenden der Bedingungen in Workflows
Regeln und Bedingungen – Übersicht
Weitere Ressourcen
Replicator Sample
Windows Workflow Foundation-Aktivitäten
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.