ParallelForEach<T> Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Inventariseert de elementen van een verzameling en voert een ingesloten instructie uit voor elk element van de verzameling parallel.
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
Type parameters
- T
Het type van de waarden in de Values verzameling.
- Overname
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een ParallelForEach<T> activiteit maakt. Dit voorbeeld is afkomstig uit het voorbeeld van het bedrijfsaankoopproces .
// 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)
}
},
}
}
}
},
Opmerkingen
De ingesloten instructies worden samen gepland en asynchroon uitgevoerd, maar tenzij de geplande activiteiten zelf asynchroon zijn (zoals berichtenactiviteiten of InvokeMethodactiviteiten die zijn afgeleid van AsyncCodeActivity), worden ze niet uitgevoerd op afzonderlijke threads, dus elke opeenvolgende activiteit wordt alleen uitgevoerd wanneer de eerder geplande activiteit is voltooid of inactief gaat. Als geen van de onderliggende activiteiten van deze activiteit asynchroon is of niet actief gaat, wordt deze activiteit op dezelfde manier uitgevoerd als een ForEach<T> activiteit.
Constructors
| Name | Description |
|---|---|
| ParallelForEach<T>() |
Hiermee maakt u een nieuw exemplaar van de ParallelForEach<T> klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Body |
De ActivityAction waarde die eenmaal wordt uitgevoerd voor elke waarde in de Values verzameling. |
| CacheId |
Hiermee haalt u de id op van de cache die uniek is binnen het bereik van de werkstroomdefinitie. (Overgenomen van Activity) |
| CanInduceIdle |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de activiteit ertoe kan leiden dat de werkstroom niet actief wordt. (Overgenomen van NativeActivity) |
| CompletionCondition |
Geëvalueerd nadat elke iteratie is voltooid. |
| Constraints |
Hiermee haalt u een verzameling Constraint activiteiten op die kunnen worden geconfigureerd voor validatie voor de Activity. (Overgenomen van Activity) |
| DisplayName |
Hiermee haalt u een optionele beschrijvende naam op die wordt gebruikt voor foutopsporing, validatie, afhandeling van uitzonderingen en tracering. (Overgenomen van Activity) |
| Id |
Hiermee haalt u een id op die uniek is in het bereik van de werkstroomdefinitie. (Overgenomen van Activity) |
| Implementation |
De uitvoeringslogica van de activiteit. (Overgenomen van NativeActivity) |
| ImplementationVersion |
Hiermee haalt u de implementatieversie van de activiteit op of stelt u deze in. (Overgenomen van NativeActivity) |
| Values |
De verzameling waarden die worden gebruikt als parameters voor elke iteratie van de activiteit in de Body. |
Methoden
| Name | Description |
|---|---|
| Abort(NativeActivityAbortContext) |
Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u acties uit als reactie op de activiteit die wordt afgebroken. (Overgenomen van NativeActivity) |
| CacheMetadata(ActivityMetadata) |
Niet geïmplementeerd. Gebruik in plaats daarvan de CacheMetadata(NativeActivityMetadata) methode. (Overgenomen van NativeActivity) |
| CacheMetadata(NativeActivityMetadata) |
Hiermee maakt en valideert u een beschrijving van de argumenten, variabelen, onderliggende activiteiten en activiteit gedelegeerden van de activiteit. (Overgenomen van NativeActivity) |
| Cancel(NativeActivityContext) |
Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u logica uit om een respijtende vroege voltooiing van de activiteit te veroorzaken. (Overgenomen van NativeActivity) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Execute(NativeActivityContext) |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, voert u de uitvoeringslogica van de activiteit uit. (Overgenomen van NativeActivity) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update. (Overgenomen van NativeActivity) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update. (Overgenomen van NativeActivity) |
| ShouldSerializeDisplayName() |
Geeft aan of de DisplayName eigenschap moet worden geserialiseerd. (Overgenomen van Activity) |
| ToString() |
Retourneert een String met de Id en DisplayName van de Activity. (Overgenomen van Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Hiermee wordt het exemplaar van NativeActivity. (Overgenomen van NativeActivity) |