Freigeben über


Aktivitäten zur Ablaufsteuerung in WF

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

Beachten Sie, dass Aktivitäten wie die Aktivitäten Parallel und ParallelForEach mehrere untergeordnete Aktivitäten für eine gleichzeitige Ausführung planen, bei einem Workflow jedoch nur ein einzelner Thread verwendet wird. Jede untergeordnete Aktivität in diesen Aktivitäten wird sequenziell ausgeführt, und nachfolgende Aktivitäten werden erst ausgeführt, wenn vorherige Aktivitäten beendet werden oder sich im Leerlauf befindet. Deshalb sind diese Aktivitäten sehr hilfreich bei Anwendungen, in denen sich die Ausführung mehrerer potenziell blockierender Aktivitäten überschneidet. Wenn keine der untergeordneten Aktivitäten in diesen Aktivitäten in den Leerlauf wechselt, wird eine Parallel-Aktivität auf dieselbe Weise wie eine Sequence-Aktivität ausgeführt, und eine ParallelForEach-Aktivität wird genau wie eine ForEach-Aktivität ausgeführt. Wenn jedoch asynchrone Aktivitäten (z. B. Aktivitäten, die von AsyncCodeActivity abgeleitet werden) oder Messagingaktivitäten verwendet werden, geht die Steuerung auf den nächsten Branch über, während die untergeordnete Aktivität darauf wartet, dass ihre Nachricht empfangen oder ihre asynchrone Arbeit abgeschlossen wird.

Flusssteuerungsaktivitäten

Aktivität BESCHREIBUNG
DoWhile Führt die enthaltenen Aktivitäten ein Mal aus und setzt dies fort, solange für eine Bedingung true festgelegt ist.
ForEach<T> Führt eine eingebettete Anweisung für jedes Element in einer Auflistung nacheinander aus. ForEach<T> ist dem Schlüsselwort foreach ähnlich, wird jedoch eher als Aktivität implementiert, nicht als Sprachanweisung.
If Führt enthaltene Aktivitäten aus, wenn eine Bedingung auf true festgelegt ist, und kann Aktivitäten ausführen, die in der Else-Eigenschaft enthalten sind, wenn die Bedingung auf false festgelegt ist.
Parallel Führt enthaltene Aktivitäten parallel aus.
ParallelForEach<T> Führt eine eingebettete Anweisung für jedes Element in einer Auflistung gleichzeitig aus.
Pick Stellt ereignisbasierte Flusssteuerungsmodellierung bereit.
PickBranch Stellt einen potenziellen Ausführungspfad innerhalb einer Pick-Aktivität dar.
Sequence Führt enthaltene Aktivitäten nacheinander aus.
Switch<T> Wählt aus einer Reihe von Aktivitäten eine Aktivität zur Ausführung aus, basierend auf dem Wert eines angegebenen Ausdrucks.
While Führt enthaltene Aktivitäten aus, solange eine Bedingung auf true festgelegt ist.