ParallelForEach<T> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Listet die Elemente einer Auflistung auf und führt parallel eine eingebettete Anweisung für jedes Element der Auflistung aus.
generic <typename T>
public ref class ParallelForEach sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Body")]
public sealed class ParallelForEach<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Body")>]
type ParallelForEach<'T> = class
inherit NativeActivity
Public NotInheritable Class ParallelForEach(Of T)
Inherits NativeActivity
Typparameter
- T
Der Typ der Werte, die in der Values-Auflistung bereitgestellt werden.
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird das Erstellen einer ParallelForEach<T>-Aktivität gezeigt. Dieses Beispiel stammt aus dem Beispiel "Corporate Purchase Process" .
// invite all vendors and wait for their proposals
new ParallelForEach<Vendor>
{
DisplayName = "Get vendor proposals",
Values = new InArgument<IEnumerable<Vendor>>(ctx =>this.Rfp.Get(ctx).InvitedVendors),
Body = new ActivityAction<Vendor>()
{
Argument = iterationVariableVendor,
Handler = new Sequence
{
Variables = { tmpValue },
Activities =
{
// waits for a vendor proposal (creates a bookmark for a vendor)
new WaitForVendorProposal
{
VendorId = new LambdaValue<int>(ctx =>iterationVariableVendor.Get(ctx).Id) ,
Result = new OutArgument<double>(tmpValue)
},
// after the vendor proposal is received, it is registered in the Request for Proposals
new InvokeMethod
{
TargetObject = new InArgument<RequestForProposal>(ctx =>this.Rfp.Get(ctx)),
MethodName = "RegisterProposal",
Parameters =
{
new InArgument<Vendor>(iterationVariableVendor),
new InArgument<double>(tmpValue)
}
},
}
}
}
},
Hinweise
Die eingebetteten Anweisungen werden gemeinsam geplant und asynchron ausgeführt, es sei denn, die geplanten Aktivitäten selbst sind asynchron (z. B. Messagingaktivitäten, , oder Aktivitäten, InvokeMethoddie von AsyncCodeActivityabgeleitet werden), werden nicht in separaten Threads ausgeführt, sodass jede aufeinander folgende Aktivität nur ausgeführt wird, wenn die zuvor geplante Aktivität abgeschlossen ist oder in den Leerlauf wechselt. Wenn keine der untergeordneten Aktivitäten dieser Aktivität asynchron ist oder in den Leerlauf versetzt wird, erfolgt die Ausführung dieser Aktivität entsprechend einer ForEach<T>-Aktivität.
Konstruktoren
ParallelForEach<T>() |
Erstellt eine neue Instanz der ParallelForEach<T>-Klasse. |
Eigenschaften
Body |
Die ActivityAction, die einmal für jeden in der Values-Auflistung enthaltenen Wert ausgeführt wird. |
CacheId |
Ruft den Bezeichner des Caches ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist. (Geerbt von Activity) |
CanInduceIdle |
Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob die Aktivität verursachen kann, dass der Workflow in den Leerlauf versetzt wird. (Geerbt von NativeActivity) |
CompletionCondition |
Die Auswertung erfolgt nach Abschluss der einzelnen Iterationen. |
Constraints |
Ruft eine Auflistung von Constraint-Aktivitäten ab, die so konfiguriert werden kann, dass sie die Validierung für Activity bereitstellt. (Geerbt von Activity) |
DisplayName |
Ruft einen optionalen Anzeigenamen ab, der für Debugging, Validierung, Ausnahmebehandlung und Nachverfolgung verwendet wird, oder legt ihn fest. (Geerbt von Activity) |
Id |
Ruft einen Bezeichner ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist. (Geerbt von Activity) |
Implementation |
Die Ausführungslogik der Aktivität. (Geerbt von NativeActivity) |
ImplementationVersion |
Ruft die Implementierungsversion der Aktivität ab oder legt diese fest. (Geerbt von NativeActivity) |
Values |
Die Auflistung von Werten, die als Parameter für die einzelnen Iterationen der im Body enthaltenen Aktivität verwendet werden. |
Methoden
Abort(NativeActivityAbortContext) |
Führt bei Implementierung in einer abgeleiteten Klasse Aktionen als Reaktion auf die abgebrochene Aktivität aus. (Geerbt von NativeActivity) |
CacheMetadata(ActivityMetadata) |
Nicht implementiert. Verwenden Sie stattdessen die CacheMetadata(NativeActivityMetadata)-Methode. (Geerbt von NativeActivity) |
CacheMetadata(NativeActivityMetadata) |
Erstellt und überprüft eine Beschreibung der Argumente, Variablen, untergeordneten Aktivitäten und Aktivitätsdelegaten der Aktivität. (Geerbt von NativeActivity) |
Cancel(NativeActivityContext) |
Führt bei Implementierung in einer abgeleiteten Klasse Logik für einen ordnungsgemäßen frühzeitigen Abschluss der Aktivität aus. (Geerbt von NativeActivity) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
Execute(NativeActivityContext) |
Führt bei der Implementierung in eine abgeleitete Klasse die Ausführungslogik der Aktivität aus. (Geerbt von NativeActivity) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn eine Zuordnung für das dynamische Update erstellt wird. (Geerbt von NativeActivity) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn eine Zuordnung für das dynamische Update erstellt wird. (Geerbt von NativeActivity) |
ShouldSerializeDisplayName() |
Gibt an, ob die DisplayName- Eigenschaft serialisiert werden soll. (Geerbt von Activity) |
ToString() |
Gibt eine String zurück, die Id und DisplayName von Activity enthält. (Geerbt von Activity) |
UpdateInstance(NativeActivityUpdateContext) |
Aktualisiert die NativeActivity-Instanz. (Geerbt von NativeActivity) |