Neues in Windows Workflow Foundation
In Windows Workflow Foundation (WF) in .NET Framework 4 wurden mehrere Entwicklungsparadigma gegenüber früheren Versionen geändert. Workflows sind jetzt einfacher zu erstellen, auszuführen und zu warten und implementieren eine Vielzahl neuer Funktionen. Weitere Informationen zum Migrieren von .NET Framework 3.0- und .NET Framework 3.5-Workflowanwendungen zur Verwendung der neuesten Version finden Sie unter Migrationsleitfaden.
Workflowaktivitätsmodell
Statt der SequentialWorkflowActivity-Klasse oder der StateMachineWorkflowActivity-Klasse ist die Aktivität jetzt die Basiseinheit beim Erstellen eines Workflows. Die Activity-Klasse stellt die Basisabstraktion des Workflowverhaltens bereit. Aktivitätsautoren können dann CodeActivity für eine grundlegende benutzerdefinierte Aktivitätsfunktionalität oder NativeActivity für eine benutzerdefinierte Aktivitätsfunktionalität, die alle zur Laufzeit verfügbaren Funktionen verwendet, implementieren. Die Activity-Klasse wird von Aktivitätsautoren verwendet, um neue Verhaltensweisen deklarativ mittels anderer NativeActivity-, CodeActivity-, AsyncCodeActivity- oder DynamicActivity-Objekte auszudrücken, die entweder selbst entwickelt wurden oder in der integrierten Aktivitätsbibliothek enthalten sind.
Umfangreiche zusammengesetzte Aktivitätsoptionen
Flowchart ist eine leistungsstarke neue Ablaufsteuerungsaktivität, die es Autoren ermöglicht, beliebige Schleifen und bedingte Verzweigungen zu modellieren. Flowchart stellt ein ereignisgesteuertes Programmiermodell bereit, das zuvor nur mit StateMachineWorkflowActivity implementiert werden konnte. Verfahrensworkflows profitieren von neuen Flusssteuerungsaktivitäten, die herkömmliche Flusssteuerungsstrukturen modellieren, z. B. TryCatch und Switch<T>.
Erweiterte integrierte Aktivitätsbibliothek
Die Aktivitätsbibliothek bietet u. a. die folgenden neuen Funktionen:
Neue Flusssteuerungsaktivitäten, z. B. DoWhile, Pick, TryCatch, ForEach<T>, Switch<T> und ParallelForEach<T>.
Aktivitäten zum Bearbeiten von Memberdaten, z. B. Assign, sowie Auflistungsaktivitäten, z. B. AddToCollection<T>.
Aktivitäten zum Steuern von Transaktionen, z. B. TransactionScope und Compensate.
Neue Messagingaktivitäten, z. B. SendContent und ReceiveReply.
Explizites Aktivitätsdatenmodell
.NET Framework 4 umfasst neue Optionen zum Speichern und Verschieben von Daten. Daten können mit Variable in einer Aktivität gespeichert werden. Beim Verschieben von Daten in und aus einer Aktivität wird mittels spezialisierter Argumenttypen die Verschieberichtung bestimmt. Dies sind die Typen InArgument, InOutArgument und OutArgument. Weitere Informationen finden Sie unter Windows Workflow Foundation-Datenmodell.
Verbesserte Hosting-, Persistenz- und Nachverfolgungsoptionen
.NET Framework 4 bietet Erweiterungen der Persistenz, wie beispielsweise:
Mehr Optionen zum Ausführen von Workflows, darunter WorkflowServiceHost, WorkflowApplication und WorkflowInvoker.
Workflowzustandsdaten können mit der Persist-Aktivität explizit in den Persistenzspeicher verschoben werden.
Ein Host kann ein ActivityInstance-Objekt ohne Entladen in den Persistenzspeicher verschieben.
Beim Arbeiten mit Daten, die nicht in den Persistenzspeicher verschoben werden können, kann ein Workflow Zonen ohne Persistenz angeben, um den Vorgang zu verschieben, bis die Zone ohne Persistenz beendet wird.
Das TransactionScope-Objekt ermöglicht den Transaktionsfluss in einen Workflow.
Die Nachverfolgung wird mit dem TrackingParticipant-Objekt vereinfacht.
Die Nachverfolgung im Systemereignisprotokoll wird mit dem EtwTrackingParticipant-Objekt bereitgestellt.
Das Fortsetzen ausstehender Workflows kann jetzt mit dem Bookmark-Objekt verwaltet werden.
Vereinfachte Erweiterung der WF-Designer-Umgebung
Der neue WF-Designer basiert auf Windows Presentation Foundation (WPF) und stellt ein einfacheres Modell zum erneuten Hosten des WF-Designers außerhalb von Visual Studio sowie einfachere Mechanismen zum Erstellen benutzerdefinierter Aktivitätsdesigner bereit. Weitere Informationen finden Sie unter Anpassen der Workflowentwurfsoberfläche.