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 eine eingebettete Anweisung für jedes Element der Auflistung parallel 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 in der Values Auflistung bereitgestellten Werte.
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird das Erstellen einer ParallelForEach<T> Aktivität veranschaulicht. Dieses Beispiel stammt aus dem Beispiel für den Unternehmenskaufprozess .
// 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 asynchron geplant und ausgeführt, es sei denn, die geplanten Aktivitäten selbst sind asynchron (z. B. Messagingaktivitäten InvokeMethod, oder Aktivitäten, die abgeleitet AsyncCodeActivitywerden), werden nicht für separate Threads ausgeführt, sodass jede aufeinander folgende Aktivität nur ausgeführt wird, wenn die zuvor geplante Aktivität abgeschlossen oder im Leerlauf verläuft. Wenn keine der untergeordneten Aktivitäten dieser Aktivität asynchron ist oder im Leerlauf bleibt, wird diese Aktivität auf die gleiche Weise ausgeführt wie eine ForEach<T> Aktivität.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ParallelForEach<T>() |
Erstellt eine neue Instanz der ParallelForEach<T> Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Body |
Der ActivityAction Wert, der 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 |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Aktivität dazu führen kann, dass der Workflow im Leerlauf ist. (Geerbt von NativeActivity) |
| CompletionCondition |
Ausgewertet, nachdem jede Iteration abgeschlossen wurde. |
| Constraints |
Ruft eine Sammlung von Constraint Aktivitäten ab, die für die ActivityÜberprüfung konfiguriert werden können. (Geerbt von Activity) |
| DisplayName |
Dient zum Abrufen oder Festlegen eines optionalen Anzeigenamens, der für das Debuggen, die Überprüfung, die Ausnahmebehandlung und die Nachverfolgung verwendet wird. (Geerbt von Activity) |
| Id |
Ruft einen Bezeichner ab, der im Bereich 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 sie fest. (Geerbt von NativeActivity) |
| Values |
Die Sammlung von Werten, die als Parameter für jede Iteration der aktivität verwendet werden, die in der Body. |
Methoden
| Name | Beschreibung |
|---|---|
| Abort(NativeActivityAbortContext) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, werden Aktionen als Reaktion auf die abgebrochene Aktivität ausgeführt. (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ätsdelegatten der Aktivität. (Geerbt von NativeActivity) |
| Cancel(NativeActivityContext) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird Logik ausgeführt, um einen ordnungsgemäßen frühzeitigen Abschluss der Aktivität zu verursachen. (Geerbt von NativeActivity) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| Execute(NativeActivityContext) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird die Ausführungslogik der Aktivität ausgeführt. (Geerbt von NativeActivity) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn eine Karte für die dynamische Aktualisierung erstellt wird. (Geerbt von NativeActivity) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn eine Karte für die dynamische Aktualisierung erstellt wird. (Geerbt von NativeActivity) |
| ShouldSerializeDisplayName() |
Gibt an, ob die DisplayName Eigenschaft serialisiert werden soll. (Geerbt von Activity) |
| ToString() |
Gibt einen String Wert zurück, der das Id Und DisplayName des .Activity (Geerbt von Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Aktualisiert die Instanz von NativeActivity. (Geerbt von NativeActivity) |