Freigeben über


Ablaufsteuerungsaktivitäten in WF

.NET Framework 4.6.1 bietet mehrere Aktivitäten zum Steuern des Ausführungsflusses innerhalb eines Workflows. Einige dieser Aktivitäten (z Switch . B. und If) implementieren Flusssteuerungsstrukturen, die denen in Programmierumgebungen wie Visual C# ähneln, während andere (z Pick. B. ) neue Programmierstrukturen modellieren.

Beachten Sie, dass während Aktivitäten wie die Parallel und ParallelForEach Aktivitäten mehrere untergeordnete Aktivitäten für die gleichzeitige Ausführung planen, nur ein einzelner Thread für einen Workflow verwendet wird. Jede untergeordnete Aktivität dieser Aktivitäten wird sequenziell ausgeführt, und nacheinander ausgeführte Aktivitäten werden erst ausgeführt, nachdem vorherige Aktivitäten abgeschlossen oder im Leerlauf verlaufen. Daher sind diese Aktivitäten für Anwendungen am nützlichsten, in denen mehrere potenziell blockierende Aktivitäten in einer interleavierten Weise ausgeführt werden müssen. Wenn keine der untergeordneten Aktivitäten dieser Aktivitäten im Leerlauf läuft, wird eine Parallel Aktivität wie eine Sequence Aktivität ausgeführt, und eine ParallelForEach Aktivität wird genauso wie eine ForEach Aktivität ausgeführt. Wenn jedoch asynchrone Aktivitäten (z. B. Aktivitäten, die von AsyncCodeActivity) oder Messagingaktivitäten abgeleitet werden, übergeben die Steuerung an die nächste Verzweigung, während die untergeordnete Aktivität auf den Empfang der Nachricht wartet oder die asynchrone Arbeit abgeschlossen wird.

Ablaufsteuerungsaktivitäten

Aktivität Beschreibung
DoWhile Führt die enthaltenen Aktivitäten einmal aus und führt dies fort, während eine Bedingung ist true.
ForEach<T> Führt eine eingebettete Anweisung in Sequenz für jedes Element in einer Auflistung aus. ForEach<T> ähnelt dem Schlüsselwort foreach, wird aber als Aktivität und nicht als Sprachausweisung implementiert.
If Führt enthaltene Aktivitäten aus, wenn eine Bedingung ist true, und kann Aktivitäten ausführen, die in der Else Eigenschaft enthalten sind, wenn die Bedingung ist false.
Parallel Führt enthaltene Aktivitäten parallel aus.
ParallelForEach<T> Führt eine eingebettete Anweisung parallel für jedes Element in einer Auflistung aus.
Pick Stellt ereignisbasierte Steuerungsflussmodellierung bereit.
PickBranch Stellt einen potenziellen Ausführungspfad in einer Pick Aktivität dar.
Sequence Führt enthaltene Aktivitäten in Sequenz aus.
Switch<T> Wählt eine Auswahl aus einer Reihe von Auszuführenden Aktivitäten basierend auf dem Wert eines bestimmten Ausdrucks aus.
While Führt enthaltene Aktivitäten aus, während eine Bedingung ist true.