Unterstützung für neue Workflow Foundation 4.5-Funktionen im neu gehosteten Workflow-DesignerSupport for New Workflow Foundation 4.5 Features in the Rehosted Workflow Designer

Mit Windows Workflow Foundation (WF) in .NET Framework 4,5 wurden viele neue Features eingeführt, einschließlich verschiedener Erweiterungen der Workflow-Designer-Darstellung.Windows Workflow Foundation (WF) in .NET Framework 4.5 introduced many new features, including several enhancements to the workflow designer experience. In diesem Thema wird erörtert, welche dieser Funktionen im neu gehosteten Designer bzw. derzeit überhaupt nicht unterstützt werden.This topic details which of these features are supported in the rehosted designer, and which ones are currently not supported.

Hinweis

Eine Liste aller in .NET Framework 4,5 eingeführten neuen Features der neuen Windows Workflow Foundation (WF), einschließlich derjenigen, die nicht im Zusammenhang mit dem Designer-neuhosting stehen, finden Sie unter What es New in Windows Workflow Foundation in .NET 4,5.For a list of all of the new Windows Workflow Foundation (WF) features introduced in .NET Framework 4.5, including those that are unrelated to designer rehosting, see What's New in Windows Workflow Foundation in .NET 4.5.

AktivitätenActivities

Die integrierte Aktivitätsbibliothek enthält neue Aktivitäten und neue Funktionen für vorhandene Aktivitäten.The built-in activity library contains new activities and new features for existing activities. Alle diese neuen Aktivitäten werden im neu gehosteten Designer unterstützt.All of these new activities are supported in the rehosted designer. Weitere Informationen zu diesen neuen Aktivitäten finden Sie im Abschnitt " Aktivitäten " unter Neues in Windows Workflow Foundation in .NET 4,5.For more information on these new activities, see the Activities section of What's New in Windows Workflow Foundation in .NET 4.5.

C#-AusdrückeC# Expressions

Vor .NET Framework 4,5 konnten alle Ausdrücke in Workflows nur in Visual Basic geschrieben werden.Prior to .NET Framework 4.5, all expressions in workflows could only be written in Visual Basic. In .NET Framework 4,5 werden Visual Basic Ausdrücke nur für Projekte verwendet, die mit Visual Basic erstellt werden.In .NET Framework 4.5, Visual Basic expressions are only used for projects created using Visual Basic. Visual C#-Projekte verwenden jetzt die Programmiersprache C# für Ausdrücke.Visual C# projects now use C# for expressions. Beim Erstellen von Workflows in Visual Studio 2012 wird ein voll C# funktionsfähiger Ausdrucks-Editor bereitgestellt, der Funktionen wie Grammatik Hervorhebung und IntelliSense bietet.When authoring workflows in Visual Studio 2012, a fully functional C# expression editor is provided which capabilities such as grammar highlighting and intellisense. Die in früheren Versionen erstellten C#-Workflowprojekte, die Visual Basic-Ausdrücke verwenden, sind weiterhin funktionsfähig.C# workflow projects created in previous versions that use Visual Basic expressions will continue to work.

Warnung

C#-Ausdrücke werden im neu gehosteten Designer nicht unterstützt.C# expressions are not supported in the rehosted designer.

Neue Designer-FunktionenNew Designer Capabilities

Die in .NET Framework 4,5 eingeführten Features " Schnellsuche " und " in Dateien suchen" werden im neu gehosteten Designer nicht unterstützt.The Quick Find and Find in Files features introduced with .NET Framework 4.5 are not supported in the rehosted designer. Die Toolbox-Suche wird im neu gehosteten Designer unterstützt.The Toolbox search is supported in the rehosted designer. Weitere Informationen zu diesen Features finden Sie unter Designer Search.For more information on these features, see Designer Search.

Warnung

Die Schnellsuche und die Suche in Dateien werden im neu gehosteten Designer nicht unterstützt.Quick Find and Find in Files are not supported in the rehosted designer.

Löschen von Kontextmenüelementen im Variablen- und Argument-DesignerDelete context menu item in variable and argument designer

In .NET Framework 4 konnten Variablen und Argumente nur im Designer mit der Tastatur gelöscht werden.In .NET Framework 4, variables and arguments could only be deleted in the designer using the keyboard. Ab .NET Framework 4,5 können Variablen und Argumente über das Kontextmenü gelöscht werden.Starting with .NET Framework 4.5, variables and arguments can be deleted using the context menu. Diese Funktion wird im neu gehosteten Designer unterstützt.This feature is supported in the rehosted designer.

Das folgende Bildschirmfoto zeigt das Kontextmenü des Variablen- und Argument-Designers.The following screenshot shows the variable and argument designer context menu.

Kontextmenü des Variablen- und Argument-Designers

Automatisches Umschließen mit SequenzAuto-surround with Sequence

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.Since a workflow or certain container activities (such as NoPersistScope) can only contain a single body activity, adding a second activity required the developer to delete the first activity, add a Sequence activity, and then add both activities to the sequence activity. Ab .NET Framework 4,5 wird automatisch eine Sequence Aktivität erstellt, um beide Aktivitäten zu umschließen, wenn der Designer Oberfläche eine zweite Aktivität hinzugefügt wird.Starting with .NET Framework 4.5, when adding a second activity to the designer surface, a Sequence activity will be automatically created to wrap both activities. Diese Funktion wird im neu gehosteten Designer unterstützt.This feature is supported in the rehosted designer.

Die folgende Bildschirmaufnahme zeigt eine WriteLine-Aktivität in Body von NoPersistScope.The following screenshot shows a WriteLine activity in the Body of a NoPersistScope.

Eine "Write teline"-Aktivität im Text einer nopersistscope-Aktivität.

Die folgende Bildschirmaufnahme zeigt die automatisch erstellte Sequence-Aktivität in Body, wenn eine zweite WriteLine-Komponente unterhalb der ersten abgelegt wird.The following screenshot shows the automatically created Sequence activity in the Body when a second WriteLine is dropped below the first.

Eine automatisch erstellte Sequenz im Text eines nopersistscope.

SchwenkmodusPan Mode

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.To more easily navigate a large workflow in the designer, pan mode can be enabled, allowing the developer to click and drag to move the visible portion of the workflow, rather than needing to use the scroll bars. Die Schaltfläche zum Aktivieren des Schwenkmodus befindet sich in der rechten unteren Ecke des Designers.The button to activate pan mode is in the lower right corner of the designer. Diese Funktion wird im neu gehosteten Designer unterstützt.This feature is supported in the rehosted designer.

Das folgende Bildschirmfoto zeigt die Schaltfläche zum Schwenken, die sich in der unteren rechten Ecke des Workflow-Designers befindet.The following screenshot shows the pan button which is located at the bottom right corner of the workflow designer.

Die Schaltfläche schwenken, die im Workflow-Designer hervorgehoben ist.

Die mittlere Maustaste oder die LEERTASTE kann ebenfalls verwendet werden, um den Workflow-Designer zu schwenken.The middle mouse button or space bar can also be used to pan the workflow designer.

MehrfachauswahlMulti-select

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.Multiple activities can be selected at one time, either by dragging a rectangle around them (when pan mode is not enabled), or by holding down Ctrl and click on the desired activities one by one. Diese Funktion wird im neu gehosteten Designer unterstützt.This feature is supported in the rehosted designer.

Mehrere ausgewählte Aktivitäten können auch im Designer gezogen und abgelegt und über das Kontextmenü bearbeitet werden.Multiple activity selections can also be dragged and dropped within the designer, and can also be interacted with using the context menu.

Gliederungsansicht der WorkflowelementeOutline view of workflow items

Um das Navigieren in hierarchischen Workflows zu erleichtern, werden die Komponenten eines Workflows in einer strukturähnlichen Gliederungsansicht angezeigt.In order to make hierarchical workflows easier to navigate, components of a workflow are shown in a tree-style outline view. Die Gliederungs Ansicht wird in der Ansicht Dokument Gliederung angezeigt.The outline view is displayed in the Document Outline view. Um diese Ansicht in Visual Studio zu öffnen, wählen Sie im oberen Menü Ansicht, Weitere Fenster, DokumentGliederung aus, oder drücken Sie STRG W, U.To open this view in Visual Studio, from the top menu, select View, Other Windows, Document Outline, or press Ctrl 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.Clicking on a node in outline view will navigate to the corresponding activity in the workflow designer, and the outline view will be updated to show activities that are selected in the designer. Diese Funktion wird im neu gehosteten Designer unterstützt.This feature is supported in the rehosted designer.

Der folgende Screenshot des abgeschlossenen Workflows aus dem Tutorial "Getting Started " zeigt die Gliederungs Ansicht mit einem sequenziellen Workflow.The following screenshot of the completed workflow from the Getting Started Tutorial shows the outline view with a sequential workflow.

Screenshot der Gliederungs Ansicht mit einem sequenziellen Workflow in Visual Studio

Bessere Kontrolle über die Sichtbarkeit der Shellleiste und HeaderelementeMore control of visibility of shell bar and header items

In einem neu gehosteten Designer sind einige standardmäßigen Benutzeroberflächen-Steuerelemente für einen bestimmten Workflow möglicherweise bedeutungslos und deaktiviert.In a rehosted designer, some of the standard UI controls may not have meaning for a given workflow, and may be turned off. In .NET Framework 4 wird diese Anpassung nur von der shellleiste am unteren Rand des Designers unterstützt.In .NET Framework 4, this customization is only supported by the shell bar at the bottom of the designer. In .NET Framework 4,5 kann die Sichtbarkeit von shellheadern am oberen Rand des Designers angepasst werden, indem WorkflowShellHeaderItemsVisibility mit dem entsprechenden ShellHeaderItemsVisibility Wert festgelegt wird.In .NET Framework 4.5, the visibility of shell header items at the top of the designer can be adjusted by setting WorkflowShellHeaderItemsVisibility with the appropriate ShellHeaderItemsVisibility value.

Automatisches Verbinden und Einfügen in Flussdiagramm- und ZustandsautomatworkflowsAuto-connect and auto-insert in Flowchart and State Machine workflows

In .NET Framework 4 mussten Verbindungen zwischen Knoten in einem Flussdiagramm-Workflow manuell hinzugefügt werden.In .NET Framework 4, connections between nodes in a Flowchart workflow had to be added manually. In .NET Framework 4,5 verfügen Flussdiagramm-und Zustands Automaten Knoten über automatische Verbindungspunkte, die sichtbar werden, wenn eine Aktivität aus der Toolbox auf die Designer Oberfläche gezogen wird.In .NET Framework 4.5, Flowchart and State Machine nodes have auto-connect points that become visible when an activity is dragged from the toolbox onto the designer surface. Durch Ablegen einer Aktivität auf einem dieser Punkte wird die Aktivität automatisch zusammen mit der erforderlichen Verbindung hinzugefügt.Dropping an activity on one of these points automatically adds the activity along with the necessary connection.

Das folgende Bildschirmfoto zeigt die Anfügepunkte, die sichtbar werden, wenn eine Aktivität aus der Toolbox gezogen wird.The following screenshot shows the attachment points that become visible when an activity is dragged from the toolbox.

Flussdiagramm-Startknoten mit automatischen Verbindungs Punkten

Aktivitäten können auch auf Verbindungen zwischen Flussdiagrammknoten und -zuständen gezogen werden, um den Knoten automatisch zwischen zwei anderen Knoten einzufügen.Activities can also be dragged onto connections between flowchart nodes and states to auto-insert the node between two other nodes. Das folgende Bildschirmfoto zeigt die hervorgehobene Verbindungslinie, auf die Aktivitäten aus der Toolbox gezogen und abgelegt werden können.The following screenshot shows the highlighted connecting line where activities can be dragged from the toolbox and dropped.

AutoEinfügen-Handle zum Ablegen von Aktivitäten

Automatisches Verbinden und automatisches Einfügen werden im neu gehosteten Designer unterstützt.Auto-connect and auto-insert are supported in the rehosted designer.

Designer-AnmerkungenDesigner Annotations

Zur einfacheren Entwicklung größerer Workflows unterstützt der Designer jetzt das Hinzufügen von Anmerkungen, um den Entwurfsprozess nachzuverfolgen.To facilitate developing larger workflows, the designer now supports adding annotations to help keep track of the design process. Aktivitäten, Zustände, Flussdiagrammknoten, Variablen und Argumente können mit Anmerkungen versehen werden.Annotation can be added to activities, states, flowchart nodes, variables and arguments. Das folgende Bildschirmfoto zeigt das Kontextmenü, das verwendet wird, um dem Designer Anmerkungen hinzuzufügen.The following screenshot shows the context menu used to add annotations to the designer.

Screenshot, der das Menü zum Hinzufügen von Notationen anzeigt.

Designer-Anmerkungen werden im neu gehosteten Designer unterstützt.Designer annotations are supported in the rehosted designer.

Definieren und Nutzen von ActivityDelegate-Objekten im DesignerDefine and consume ActivityDelegate objects in the designer

Die Aktivitäten in .NET Framework 4 wurden ActivityDelegate Objekten verwendet, um Ausführungs Punkte verfügbar zu machen, an denen andere Teile des Workflows mit der Ausführung eines Workflows interagieren konnten, aber die Verwendung dieser Ausführungs Punkte erforderte normalerweise eine ziemlich große Menge an Code.Activities in .NET Framework 4 used ActivityDelegate objects to expose execution points where other parts of the workflow could interact with a workflow's execution, but using these execution points usually required a fair amount of code. In diesem Release können Entwickler die Aktivitätsdelegaten mit dem Workflow-Designer definieren und nutzen.In this release, developers can define and consume activity delegates using the workflow designer. Weitere Informationen finden Sie unter Gewusst wie: definieren undverarbeiten von Aktivitäts Delegaten im Workflow-Designer.For more information, see How to: Define and consume activity delegates in the Workflow Designer.

Aktivitätsdelegaten werden im neu gehosteten Designer unterstützt.Activity delegates are supported in the rehosted designer.

Validierung zur BuildzeitBuild-time validation

In .NET Framework 4 wurden Workflow Validierungs Fehler während der Erstellung eines Workflow Projekts nicht als Buildfehler gezählt.In .NET Framework 4, workflow validation errors weren’t counted as build errors during the build of a workflow project. Das bedeutete, dass das Erstellen eines Workflowprojekts erfolgreich gewesen sein konnte, obwohl Workflowvalidierungsfehler auftraten.This meant that building a workflow project could succeed even when there were workflow validation errors. In .NET Framework 4,5 bewirken Workflow Validierungs Fehler, dass der Build fehlschlägt.In .NET Framework 4.5, workflow validation errors cause the build to fail.

Warnung

Die Validierung zur Buildzeit wird im neu gehosteten Designer nicht unterstützt.Build-time validation is not supported in the rehosted designer.

Hintergrundvalidierung zur EntwurfszeitDesign-time background validation

In .NET Framework 4 wurden Workflows als Vordergrund Prozess überprüft, der die Benutzeroberfläche bei komplexen oder zeitaufwändigen Validierungs Prozessen potenziell blockieren kann.In .NET Framework 4, workflows were validated as a foreground process, which could potentially block the UI during complex or time-consuming validation processes. Da die Workflowvalidierung nun in einem Hintergrundthread stattfindet, wird die Benutzeroberfläche nicht blockiert.Workflow validation now takes place on a background thread, so that the UI is not blocked.

Die Hintergrundvalidierung zur Entwurfszeit wird im neu gehosteten Designer unterstützt.Design-time background validation is supported in the rehosted designer.

Der Ansichtszustand wird an einem separaten Ort in XAML-Dateien gespeichertView state located in a separate location in XAML files

In .NET Framework 4 werden die Ansichts Zustandsinformationen für einen Workflow in der XAML-Datei an vielen verschiedenen Speicherorten gespeichert.In .NET Framework 4, the view state information for a workflow is stored across the XAML file in many different locations. Dies ist für Entwickler, die XAML direkt lesen oder Code zum Entfernen von Ansichtszustandsinformationen schreiben möchten, ungünstig.This is inconvenient for developers who want to read XAML directly, or write code to remove the view state information. In .NET Framework 4,5 werden die Ansichts Zustandsinformationen in der XAML-Datei als separates Element in der XAML-Datei serialisiert.In .NET Framework 4.5, the view state information in the XAML file is serialized as a separate element in the XAML file. Entwickler können die Ansichts Zustandsinformationen einer Aktivität leicht finden und bearbeiten oder den Ansichts Zustand vollständig entfernen.Developers can easily locate and edit the view state information of an activity, or remove the view state altogether.

Diese Funktion wird im neu gehosteten Workflow-Designer unterstützt.This feature is supported in the rehosted workflow designer.

Opt-In für Workflow 4.5-Funktionen im neu gehosteten DesignerOpt-in for Workflow 4.5 features in rehosted designer

Um die Abwärtskompatibilität aufrechtzuerhalten, sind einige neue Features, die in .NET Framework 4,5 enthalten sind, im neu gehosteten Designer standardmäßig nicht aktiviert.To preserve backward compatibility, some new features included in .NET Framework 4.5 are not enabled by default in the rehosted designer. 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.This is to ensure that existing applications that use the rehosted designer are not broken by updating to the latest version. 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.To enable new features in the rehosted designer, either set TargetFrameworkName to ".Net Framework 4.5", or set individual members of DesignerConfigurationService to enable individual features.

Neue Modelle für die WorkflowentwicklungNew Workflow Development Models

Zusätzlich zu den Entwicklungsmodellen für sequenzielle oder Flussdiagramm-Workflows umfasst dieses Release Zustandsautomatworkflows und Vertrag zuerst-Workflowdienste.In addition to flowchart and sequential workflow development models, this release includes State Machine workflows, and contract-first workflow services.

ZustandsautomatworkflowsState machine workflows

Zustandsautomatworkflows wurden als Teil der .NET Framework 4.0.1 im Microsoft .NET Framework 4 Platform Update 1eingeführt.State machine workflows were introduced as part of the .NET Framework 4.0.1 in the Microsoft .NET Framework 4 Platform Update 1. Dieses Update umfasste verschiedene neue Klassen und Aktivitäten, die es den Entwicklern ermöglichten, Zustandsautomatworkflows zu erstellen.This update included several new classes and activities which allowed developers to create state machine workflows. Diese Klassen und Aktivitäten wurden für .NET Framework 4,5 aktualisiert.These classes and activities have been updated for .NET Framework 4.5. Updates umfassen:Updates include:

  1. Festlegen von Haltepunkten für ZuständeThe ability to set breakpoints on states

  2. Kopieren und Einfügen von Übergängen im Workflow-DesignerThe ability to copy and paste transitions in the workflow designer

  3. Designerunterstützung für das Erstellen von freigegebenen TriggerübergängenDesigner support for shared trigger transition creation

  4. Aktivitäten, die zum Erstellen von Zustandsautomatworkflows verwendet werden, darunter: StateMachine, State und TransitionActivities used to create State Machine workflows, including: StateMachine, State, and Transition

Der folgende Screenshot zeigt den abgeschlossenen Zustandsautomatworkflow aus dem Schritt " Getting Started Tutorial " Gewusst wie: Erstellen eines Zustands Automaten Workflows.The following screenshot shows the completed state machine workflow from the Getting Started Tutorial step How to: Create a State Machine Workflow.

Die Abbildung zeigt den abgeschlossenen Zustandsautomatworkflow.

Weitere Informationen zum Erstellen von Zustandsautomatworkflows finden Sie unter Zustandsautomatworkflows.For more information on creating state machine workflows, see State Machine Workflows. Zustandsautomatworkflows werden im neu gehosteten Designer unterstützt.State machine workflows are supported in the rehosted designer.

Vertrag zuerst-WorkflowentwicklungContract-first workflow development

Mit dem Contract-First-Workflow-Entwicklungs Tool können Entwickler zunächst einen Vertrag im Code entwerfen und dann mit wenigen Klicks in Visual Studio automatisch eine Aktivitäts Vorlage in der Toolbox generieren, die die einzelnen Vorgänge darstellt.The contract-first workflow development tool allows the developer to design a contract in code first, then, with a few clicks in Visual Studio, automatically generate an activity template in the toolbox representing each operation. Diese Aktivitäten werden dann verwendet, um einen Workflow zu erstellen, der die vom Vertrag definierten Vorgänge implementiert.These activities are then used to create a workflow that implements the operations defined by the contract. 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.The workflow designer will validate the workflow service to ensure that these operations are implemented and the signature of the workflow matches the contract signature. Der Entwickler kann einen Workflowdienst auch einer Auflistung implementierter Verträge zuordnen.The developer can also associate a workflow service with a collection of implemented contracts. Weitere Informationen zur Entwicklung von Vertrag zuerst-Workflow Diensten finden Sie unter Gewusst wie: Erstellen eines Workflow Dienstanbieter, der einen vorhandenen Dienstvertragverwendet.For more information on contract-first workflow service development, see How to: Create a workflow service that consumes an existing service contract.

Warnung

Die Vertrag zuerst-Workflowentwicklung wird im Workflow-Designer nicht unterstützt.Contract-first workflow development is not supported in the workflow designer.