ParallelForEach<T> Klass

Definition

Räknar upp elementen i en samling och kör en inbäddad instruktion för varje element i samlingen parallellt.

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

Typparametrar

T

Typen av värden som anges i Values samlingen.

Arv
ParallelForEach<T>
Attribut

Exempel

Följande kodexempel visar hur du skapar en ParallelForEach<T> aktivitet. Det här exemplet kommer från exemplet för företagsprocessen .

// 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)
                    }
                },
            }
        }
    }
},

Kommentarer

Inbäddade instruktioner schemaläggs tillsammans och körs asynkront, men om inte de schemalagda aktiviteterna själva är asynkrona (till exempel meddelandeaktiviteter, InvokeMethodeller aktiviteter som härleds från AsyncCodeActivity) körs de inte på separata trådar, så varje efterföljande aktivitet körs bara när den tidigare schemalagda aktiviteten slutförs eller inaktiv. Om ingen av de underordnade aktiviteterna i den här aktiviteten är asynkrona eller inaktiva körs den här aktiviteten på samma sätt som en ForEach<T> aktivitet gör.

Konstruktorer

Name Description
ParallelForEach<T>()

Skapar en ny instans av ParallelForEach<T> klassen.

Egenskaper

Name Description
Body

Som ActivityAction körs en gång för varje värde som finns i Values samlingen.

CacheId

Hämtar identifieraren för cachen som är unik inom arbetsflödesdefinitionens omfång.

(Ärvd från Activity)
CanInduceIdle

Hämtar eller anger ett värde som anger om aktiviteten kan leda till att arbetsflödet blir inaktivt.

(Ärvd från NativeActivity)
CompletionCondition

Utvärderas när varje iteration har slutförts.

Constraints

Hämtar en samling Constraint aktiviteter som kan konfigureras för att tillhandahålla validering för Activity.

(Ärvd från Activity)
DisplayName

Hämtar eller anger ett valfritt eget namn som används för felsökning, validering, undantagshantering och spårning.

(Ärvd från Activity)
Id

Hämtar en identifierare som är unik i arbetsflödesdefinitionens omfång.

(Ärvd från Activity)
Implementation

Körningslogik för aktiviteten.

(Ärvd från NativeActivity)
ImplementationVersion

Hämtar eller anger implementeringsversionen av aktiviteten.

(Ärvd från NativeActivity)
Values

Samlingen med värden som används som parametrar för varje iteration av aktiviteten som finns i Body.

Metoder

Name Description
Abort(NativeActivityAbortContext)

När den implementeras i en härledd klass vidtar du åtgärder som svar på den aktivitet som avbryts.

(Ärvd från NativeActivity)
CacheMetadata(ActivityMetadata)

Inte implementerad. CacheMetadata(NativeActivityMetadata) Använd metoden i stället.

(Ärvd från NativeActivity)
CacheMetadata(NativeActivityMetadata)

Skapar och validerar en beskrivning av aktivitetens argument, variabler, underordnade aktiviteter och aktivitetsdelegater.

(Ärvd från NativeActivity)
Cancel(NativeActivityContext)

När den implementeras i en härledd klass kör logiken för att orsaka en korrekt tidig slutförande av aktiviteten.

(Ärvd från NativeActivity)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Execute(NativeActivityContext)

När den implementeras i en härledd klass kör du aktivitetens körningslogik.

(Ärvd från NativeActivity)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Genererar en händelse när du skapar en karta för den dynamiska uppdateringen.

(Ärvd från NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genererar en händelse när du skapar en karta för den dynamiska uppdateringen.

(Ärvd från NativeActivity)
ShouldSerializeDisplayName()

Anger om egenskapen DisplayName ska serialiseras.

(Ärvd från Activity)
ToString()

Returnerar en String som innehåller Id och DisplayName för Activity.

(Ärvd från Activity)
UpdateInstance(NativeActivityUpdateContext)

Uppdaterar instansen av NativeActivity.

(Ärvd från NativeActivity)

Gäller för