Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Workflow ist eine Reihe von Elementeinheiten, die als Aktivitäten bezeichnet werden, die als Modell gespeichert werden, das einen realen Prozess beschreibt. Workflows bieten eine Möglichkeit zum Beschreiben der Reihenfolge der Ausführung und abhängiger Beziehungen zwischen Teilen kurzer oder langer Ausführung. Diese Arbeit durchläuft das Modell von Anfang bis Ende, und Aktivitäten können von Personen oder von Systemfunktionen ausgeführt werden.
Workflowruntime-Engine
Jede ausgeführte Workflowinstanz wird von einem prozessinternen Laufzeitmodul erstellt und verwaltet, mit dem der Hostprozess über eine der folgenden Komponenten interagiert:
A WorkflowInvoker, der den Workflow wie eine Methode aufruft.
Eine WorkflowApplication für die explizite Kontrolle über die Ausführung einer einzelnen Workflowinstanz.
Ein WorkflowServiceHost-Objekt für meldungsbasierte Interaktionen in Szenarien mit mehreren Instanzen.
Jede dieser Klassen umschließt die Kernaktivitätslaufzeit, die als ActivityInstance dargestellt wird und für die Ausführung der Aktivität verantwortlich ist. Es können mehrere ActivityInstance Objekte in einer Anwendungsdomäne gleichzeitig ausgeführt werden.
Jedes der vorherigen drei Hostinteraktionsobjekte wird aus einer Struktur von Aktivitäten erstellt, die als Workflowprogramm bezeichnet werden. Mithilfe dieser Typen oder eines benutzerdefinierten Hosts, der ActivityInstance umschließt, können Workflows in jedem Windows-Prozess ausgeführt werden, einschließlich Konsolenanwendungen, anwendungsbasierten Formularen, Windows-Diensten, ASP.NET-Webseiten und Windows Communication Foundation (WCF)-Diensten.
Workflowkomponenten im Hostprozess
Interaktion zwischen Workflowkomponenten
Das folgende Diagramm veranschaulicht, wie Workflowkomponenten miteinander interagieren.
Im vorherigen Diagramm wird die Invoke Methode der WorkflowInvoker Klasse verwendet, um mehrere Workflowinstanzen aufzurufen. WorkflowInvoker wird für einfache Workflows verwendet, die keine Verwaltung vom Host benötigen; Workflows, die eine Verwaltung vom Host benötigen (z. B. die Wiederaufnahme), müssen stattdessen mithilfe von Bookmark ausgeführt werden. Es ist nicht erforderlich, bis eine Workflowinstanz abgeschlossen ist, bevor eine andere aufgerufen wird. Das Laufzeitmodul unterstützt das gleichzeitige Ausführen mehrerer Workflowinstanzen. Die aufgerufenen Workflows sind wie folgt:
Eine Sequence-Aktivität, die eine untergeordnete WriteLine-Aktivität enthält. Variable der übergeordneten Aktivität wird an InArgument der untergeordneten Aktivität gebunden. Weitere Informationen zu Variablen, Argumenten und Bindung finden Sie unter Variablen und Argumente.
Eine benutzerdefinierte Aktivität namens
ReadLine
. Ein OutArgument derReadLine
-Aktivität wird an die aufrufende Invoke-Methode zurückgegeben.Eine benutzerdefinierte Aktivität, die von der CodeActivity abstrakten Klasse abgeleitet wird. Mittels des CodeActivity, das als Parameter der CodeActivityContext-Methode zur Verfügung steht, kann Execute auf Laufzeitfunktionen (wie Nachverfolgung und Eigenschaften) zugreifen. Weitere Informationen zu diesen Laufzeitfeatures finden Sie unter Workflowüberwachung und -verfolgung und Eigenschaften der Workflowausführung.