Dela via


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 trueoch 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.