Freigeben über


ParallelForEach<T> Klasse

Definition

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
ParallelForEach<T>
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)

Gilt für: