Kontrollera flödesaktiviteter i WF
I .NET Framework 4.6.1 finns flera aktiviteter för att styra körningsflödet i ett arbetsflöde. Vissa av dessa aktiviteter (till exempel Switch
och If
) implementerar flödeskontrollstrukturer som liknar dem i programmeringsmiljöer som Visual C#, medan andra (till exempel Pick
) modellerar nya programmeringsstrukturer.
Observera att även om aktiviteter som aktiviteterna Parallel
och ParallelForEach
schemalägger flera underordnade aktiviteter för körning samtidigt, används bara en enda tråd för ett arbetsflöde. Varje underordnad aktivitet i dessa aktiviteter körs sekventiellt och efterföljande aktiviteter körs inte förrän tidigare aktiviteter antingen har slutförts eller inaktivt. Därför är dessa aktiviteter mest användbara för program där flera potentiellt blockerande aktiviteter måste köras på ett interfolierat sätt. Om ingen av de underordnade aktiviteterna för dessa aktiviteter blir inaktiv körs en Parallel
aktivitet precis som en Sequence
aktivitet och en ParallelForEach
aktivitet körs precis som en ForEach
aktivitet. Men om asynkrona aktiviteter (till exempel aktiviteter som härleds från AsyncCodeActivity) eller meddelandeaktiviteter används, skickas kontrollen till nästa gren medan den underordnade aktiviteten väntar på att meddelandet ska tas emot eller att dess asynkrona arbete ska slutföras.
Flödeskontrollaktiviteter
Aktivitet | Description |
---|---|
DoWhile | Kör inneslutna aktiviteter en gång och fortsätter att göra det medan ett villkor är true . |
ForEach<T> | Kör en inbäddad instruktion i följd för varje element i en samling. ForEach<T> liknar nyckelordet foreach , men implementeras som en aktivitet i stället för en språksats. |
If | Kör inneslutna aktiviteter om ett villkor är true och kan köra aktiviteter som finns i Else egenskapen om villkoret är false . |
Parallel | Kör inneslutna aktiviteter parallellt. |
ParallelForEach<T> | Kör en inbäddad instruktion parallellt för varje element i en samling. |
Pick | Tillhandahåller händelsebaserad kontrollflödesmodellering. |
PickBranch | Representerar en potentiell körningsväg i en Pick aktivitet. |
Sequence | Kör inneslutna aktiviteter i följd. |
Switch<T> | Väljer ett alternativ från ett antal aktiviteter som ska köras, baserat på värdet för ett givet uttryck. |
While | Kör inneslutna aktiviteter medan ett villkor är true . |