Unterstützung für neue Workflow Foundation 4.5-Funktionen im neu gehosteten Workflow-Designer

Mit Windows Workflow Foundation (WF) in .NET Framework 4.5 wurden viele neue Features eingeführt, darunter mehrere Verbesserungen an der Workflow-Designer-Oberfläche. In diesem Thema wird erörtert, welche dieser Funktionen im neu gehosteten Designer bzw. derzeit überhaupt nicht unterstützt werden.

Hinweis

Eine Liste aller neuen Features von Windows Workflow Foundation (WF), die in .NET Framework 4.5 eingeführt wurden, einschließlich der Features, die nicht mit der Neuhosting von Designern zusammenhängen, finden Sie unter Neuerungen in Windows Workflow Foundation in .NET Framework 4.5.

activities

Die integrierte Aktivitätsbibliothek enthält neue Aktivitäten und neue Funktionen für vorhandene Aktivitäten. Alle diese neuen Aktivitäten werden im neu gehosteten Designer unterstützt. Weitere Informationen zu diesen neuen Aktivitäten finden Sie im Abschnitt Aktivitäten unter Neuerungen in Windows Workflow Foundation in .NET Framework 4.5.

C#-Ausdrücke

Vor .NET Framework 4.5 konnten alle Ausdrücke in Workflows nur in Visual Basic geschrieben werden. In .NET Framework 4.5 werden Visual Basic-Ausdrücke nur für Projekte verwendet, die mit Visual Basic erstellt wurden. Visual C#-Projekte verwenden jetzt die Programmiersprache C# für Ausdrücke. Beim Erstellen von Workflows in Visual Studio 2012 wird ein voll funktionaler C#-Ausdrucks-Editor mit Funktionen wie IntelliSense und der Hervorhebung grammatikalischer Fehler bereitgestellt. Die in früheren Versionen erstellten C#-Workflowprojekte, die Visual Basic-Ausdrücke verwenden, sind weiterhin funktionsfähig.

Warnung

C#-Ausdrücke werden im neu gehosteten Designer nicht unterstützt.

Neue Designer-Funktionen

Die mit .NET Framework 4.5 eingeführten Features Schnellsuche und Suche in Dateien werden im neu gehosteten Designer nicht unterstützt. Die Toolbox-Suche wird im neu gehosteten Designer unterstützt. Weitere Informationen zu diesen Funktionen finden Sie unter Designer-Suche.

Warnung

Schnellsuche und Suche in Dateien werden im neu gehosteten Designer nicht unterstützt.

Löschen von Kontextmenüelementen im Variablen- und Argument-Designer

In .NET Framework 4 konnten Variablen und Argumente nur im Designer und mithilfe der Tastatur gelöscht werden. Ab .NET Framework 4.5 können Variablen und Argumente mithilfe des Kontextmenüs gelöscht werden. Diese Funktion wird im neu gehosteten Designer unterstützt.

Das folgende Bildschirmfoto zeigt das Kontextmenü des Variablen- und Argument-Designers.

Variable and Argument Designer Context Menu

Automatisches Umschließen mit Sequenz

Da ein Workflow oder bestimmte Containeraktivitäten (z. B. NoPersistScope) nur eine einzelne Textkörperaktivität enthalten können, musste der Entwickler zum Hinzufügen einer zweiten Aktivität die erste Aktivität löschen, eine Sequence-Aktivität hinzufügen und der Sequenzaktivität dann beide Aktivitäten hinzufügen. Wenn der Designeroberfläche ab .NET Framework 4.5 eine zweite Aktivität hinzugefügt wird, wird automatisch eine Sequence-Aktivität erstellt, um beide Aktivitäten zu umschließen. Diese Funktion wird im neu gehosteten Designer unterstützt.

Die folgende Bildschirmaufnahme zeigt eine WriteLine-Aktivität in Body von NoPersistScope.

A WriteLine activity in the Body of a NoPersistScope activity.

Die folgende Bildschirmaufnahme zeigt die automatisch erstellte Sequence-Aktivität in Body, wenn eine zweite WriteLine-Komponente unterhalb der ersten abgelegt wird.

An automatically created Sequence in the Body of a NoPersistScope.

Schwenkmodus

Um in einem umfangreichen Workflow einfacher im Designer zu navigieren, kann der Schwenkmodus aktiviert werden, der es dem Entwickler ermöglicht, den sichtbaren Teil des Workflows durch Klicken und Ziehen zu verschieben, anstatt die Bildlaufleisten zu verwenden. Die Schaltfläche zum Aktivieren des Schwenkmodus befindet sich in der rechten unteren Ecke des Designers. Diese Funktion wird im neu gehosteten Designer unterstützt.

Das folgende Bildschirmfoto zeigt die Schaltfläche zum Schwenken, die sich in der unteren rechten Ecke des Workflow-Designers befindet.

The pan button highlighted in the workflow designer.

Die mittlere Maustaste oder die LEERTASTE kann ebenfalls verwendet werden, um den Workflow-Designer zu schwenken.

Mehrfachauswahl

Mehrere Aktivitäten können gleichzeitig ausgewählt werden, indem Sie entweder ein Rechteck darum ziehen (wenn der Schwenkmodus nicht aktiviert ist), oder indem Sie die STRG-TASTE gedrückt halten und nacheinander auf die gewünschten Aktivitäten klicken. Diese Funktion wird im neu gehosteten Designer unterstützt.

Mehrere ausgewählte Aktivitäten können auch im Designer gezogen und abgelegt und über das Kontextmenü bearbeitet werden.

Gliederungsansicht der Workflowelemente

Um das Navigieren in hierarchischen Workflows zu erleichtern, werden die Komponenten eines Workflows in einer strukturähnlichen Gliederungsansicht angezeigt. Die Gliederung wird in der Ansicht Dokumentgliederung angezeigt. Um diese Ansicht in Visual Studio zu öffnen, wählen Sie in der oberen Menüleiste Ansicht, Weitere Fenster, Dokumentgliederung, oder drücken Sie STRG+W+U. Wenn Sie auf einen Knoten in der Gliederungsansicht klicken, wechseln Sie automatisch zur entsprechenden Aktivität im Workflow-Designer, und die Gliederungsansicht wird aktualisiert, um die im Designer ausgewählten Aktivitäten anzuzeigen. Diese Funktion wird im neu gehosteten Designer unterstützt.

Der folgende Screenshot des abgeschlossenen Workflows aus dem Tutorial mit ersten Schritten zeigt die Gliederungsansicht mit einem sequenziellen Workflow.

Screenshot of outline view with a sequential workflow in Visual Studio

Bessere Kontrolle über die Sichtbarkeit der Shellleiste und Headerelemente

In einem neu gehosteten Designer sind einige standardmäßigen Benutzeroberflächen-Steuerelemente für einen bestimmten Workflow möglicherweise bedeutungslos und deaktiviert. In .NET Framework 4 wird diese Anpassung nur von der Shellleiste im unteren Bereich des Designers unterstützt. In .NET Framework 4.5 kann die Sichtbarkeit der Shellheaderelemente am oberen Rand des Designers angepasst werden, indem WorkflowShellHeaderItemsVisibility auf den entsprechenden ShellHeaderItemsVisibility-Wert festgelegt wird.

Automatisches Verbinden und Einfügen in Flussdiagramm- und Zustandsautomatworkflows

In .NET Framework 4 mussten Verbindungen zwischen Knoten in einem Flussdiagramm-Workflow manuell hinzugefügt werden. In .NET Framework 4.5 weisen Flussdiagramm- und Zustandsautomatknoten Punkte für die automatische Verbindung auf, die sichtbar werden, wenn eine Aktivität aus der Toolbox auf die Designeroberfläche gezogen wird. Durch Ablegen einer Aktivität auf einem dieser Punkte wird die Aktivität automatisch zusammen mit der erforderlichen Verbindung hinzugefügt.

Das folgende Bildschirmfoto zeigt die Anfügepunkte, die sichtbar werden, wenn eine Aktivität aus der Toolbox gezogen wird.

Flowchart start node showing auto-connect points

Aktivitäten können auch auf Verbindungen zwischen Flussdiagrammknoten und -zuständen gezogen werden, um den Knoten automatisch zwischen zwei anderen Knoten einzufügen. Das folgende Bildschirmfoto zeigt die hervorgehobene Verbindungslinie, auf die Aktivitäten aus der Toolbox gezogen und abgelegt werden können.

Auto-insert handle for dropping activities

Automatisches Verbinden und automatisches Einfügen werden im neu gehosteten Designer unterstützt.

Designer-Anmerkungen

Zur einfacheren Entwicklung größerer Workflows unterstützt der Designer jetzt das Hinzufügen von Anmerkungen, um den Entwurfsprozess nachzuverfolgen. Aktivitäten, Zustände, Flussdiagrammknoten, Variablen und Argumente können mit Anmerkungen versehen werden. Das folgende Bildschirmfoto zeigt das Kontextmenü, das verwendet wird, um dem Designer Anmerkungen hinzuzufügen.

Screenshot that shows the menu for adding notations.

Designer-Anmerkungen werden im neu gehosteten Designer unterstützt.

Definieren und Nutzen von ActivityDelegate-Objekten im Designer

Aktivitäten in .NET Framework 4 verwendeten ActivityDelegate-Objekte, um Ausführungspunkte verfügbar zu machen, in denen andere Teile des Workflows mit der Ausführung eines Workflows interagieren konnten. Zur Verwendung dieser Ausführungspunkte war normalerweise jedoch beträchtlicher Code erforderlich. In diesem Release können Entwickler die Aktivitätsdelegaten mit dem Workflow-Designer definieren und nutzen. Weitere Informationen finden Sie unter Vorgehensweise: Definieren und Verarbeiten von Aktivitätsdelegaten im Workflow-Designer.

Aktivitätsdelegaten werden im neu gehosteten Designer unterstützt.

Validierung zur Buildzeit

In .NET Framework 4 galten Workflowvalidierungsfehler während der Erstellung eines Workflowprojekts nicht als Erstellungsfehler. Das bedeutete, dass das Erstellen eines Workflowprojekts erfolgreich gewesen sein konnte, obwohl Workflowvalidierungsfehler auftraten. In .NET Framework 4.5 bewirken Workflowvalidierungsfehler, dass die Erstellung fehlschlägt.

Warnung

Die Validierung zur Buildzeit wird im neu gehosteten Designer nicht unterstützt.

Hintergrundvalidierung zur Entwurfszeit

In .NET Framework 4 wurde die Workflowvalidierung als Vordergrundprozess ausgeführt, was bei komplexen oder zeitaufwändigen Validierungsprozessen dazu führen konnte, dass die Benutzeroberfläche blockierte. Da die Workflowvalidierung nun in einem Hintergrundthread stattfindet, wird die Benutzeroberfläche nicht blockiert.

Die Hintergrundvalidierung zur Entwurfszeit wird im neu gehosteten Designer unterstützt.

Der Ansichtszustand wird an einem separaten Ort in XAML-Dateien gespeichert

In .NET Framework 4 werden die Ansichtszustandsinformationen für einen Workflow an vielen verschiedenen Orten in der XAML-Datei gespeichert. Dies ist für Entwickler, die XAML direkt lesen oder Code zum Entfernen von Ansichtszustandsinformationen schreiben möchten, ungünstig. In .NET Framework 4.5 werden die Ansichtszustandsinformationen in der XAML-Datei als separates Element in der XAML-Datei serialisiert. Entwickler können die Informationen zum Anzeigemodus einer Aktivität ganz einfach finden und bearbeiten oder den Anzeigemodus entfernen.

Diese Funktion wird im neu gehosteten Workflow-Designer unterstützt.

Opt-In für Workflow 4.5-Funktionen im neu gehosteten Designer

Um die Abwärtskompatibilität zu gewährleisten, werden einige neue Funktionen in .NET Framework 4.5 im neu gehosteten Designer standardmäßig nicht aktiviert. Dadurch wird sichergestellt, dass vorhandene Anwendungen, die den neu gehosteten Designer verwenden, nicht beeinträchtigt werden, indem ein Update auf die neueste Version ausgeführt wird. Um neue Funktionen im neu gehosteten Designer zu aktivieren, legen Sie entweder TargetFrameworkName auf „.NET Framework 4.5“ oder einzelne Member von DesignerConfigurationService so fest, dass sie einzelne Funktionen aktivieren.

Neue Modelle für die Workflowentwicklung

Zusätzlich zu den Entwicklungsmodellen für sequenzielle oder Flussdiagramm-Workflows umfasst dieses Release Zustandsautomatworkflows und Vertrag zuerst-Workflowdienste.

Zustandsautomatworkflows

Zustandsautomatworkflows wurden als Teil von .NET Framework 4, Version 4.0.1, im Microsoft .NET Framework 4 Plattform Update 1 eingeführt. Dieses Update umfasste verschiedene neue Klassen und Aktivitäten, die es den Entwicklern ermöglichten, Zustandsautomatworkflows zu erstellen. Diese Klassen und Aktivitäten wurden für .NET Framework 4.5 aktualisiert. Updates umfassen:

  1. Festlegen von Haltepunkten für Zustände

  2. Kopieren und Einfügen von Übergängen im Workflow-Designer

  3. Designerunterstützung für das Erstellen von freigegebenen Triggerübergängen

  4. Aktivitäten, die zum Erstellen von Zustandsautomatworkflows verwendet werden, darunter: StateMachine, State und Transition

Der folgende Screenshot zeigt den abgeschlossenen Zustandsautomatworkflow aus dem Schritt Vorgehensweise: Erstellen eines Zustandsautomatworkflows im Tutorial mit ersten Schritten.

Illustration that shows the completed state machine workflow.

Weitere Informationen zum Erstellen von Zustandsautomatworkflows finden Sie unter Zustandsautomatworkflows. Zustandsautomatworkflows werden im neu gehosteten Designer unterstützt.

Vertrag zuerst-Workflowentwicklung

Das Entwicklungstool für vertragsbasierte Workflows ermöglicht es Entwicklern, einen Vertrag zuerst im Code zu entwerfen und dann in Visual Studio mit wenigen Klicks automatisch eine Aktivitätsvorlage in der Toolbox zu generieren, die die einzelnen Vorgänge darstellt. Diese Aktivitäten werden dann verwendet, um einen Workflow zu erstellen, der die vom Vertrag definierten Vorgänge implementiert. Der Workflow-Designer überprüft den Workflowdienst, um sicherzustellen, dass diese Vorgänge implementiert wurden und dass die Signatur des Workflows mit der Vertragssignatur übereinstimmt. Der Entwickler kann einen Workflowdienst auch einer Auflistung implementierter Verträge zuordnen. Weitere Informationen zur Entwicklung eines vertragsbasierten Workflowdiensts finden Sie unter Vorgehensweise: Erstellen eines Workflowdiensts, der einen vorhandenen Dienstvertrag nutzt.

Warnung

Die Vertrag zuerst-Workflowentwicklung wird im Workflow-Designer nicht unterstützt.