ParallelForEach<T> Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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) |