Workflow Manager 1.0 - vertrauenswürdige Oberfläche

 

Veröffentlicht: April 2016

Workflow-Manager 1.0 führt das Konzept einer vertrauenswürdigen Oberfläche zum Erstellen von Workflows ein.Eine vertrauenswürdige Oberfläche ist eine Sammlung vertrauenswürdiger Typen und Aktivitäten, die Benutzern zum Erstellen ihrer Workflows zur Verfügung stehen.Workflowersteller erstellen Workflows deklarativ mithilfe von Kombinationen aus diesen Typen und Aktivitäten.Die zulässigen Typen werden mithilfe einer Liste der zulässigen Typen eingeschränkt, die die Sammlung der zulässigen Typen im System enthält.Wenn die weiße Liste aktiviert ist, werden Workflowdefinitionen zur Ladezeit überprüft, um sicherzustellen, dass nur zulässige Typen verwendet werden.Dieses Thema bietet eine Übersicht zum Erstellen deklarativer Workflows mithilfe der vertrauenswürdigen Oberfläche von Workflow-Manager 1.0.

Erstellen deklarativer Workflows für Workflow-Manager 1.0

In Workflow-Manager 1.0 gehostete Workflows sind vollständig deklarativ und werden in einer vertrauenswürdigen Oberfläche mithilfe von Update 4.0.3 für Microsoft .NET Framework 4 und Windows Workflow Foundation (WF4) erstellt.Zum Erstellen eines Workflows für Workflow-Manager 1.0 werden Aktivitäten, Ausdrücke und Variablen aus der vertrauenswürdigen Oberfläche verwendet.Die verwendeten Aktivitäten können aus der genehmigten Aktivitätsliste stammen, und es können benutzerdefinierte XAML-Aktivitäten verwendet werden, die aus vertrauenswürdigen Aktivitäten bestehen.Visual Basic-Ausdrücke sind in der Workflowdefinition unzulässig, die in Workflow-Manager 1.0 gehostet wird. Ausdrucksaktivitäten aus dem Namespace Microsoft.Activities.Expressions können jedoch beim Erstellen von Workflows verwendet werden.Die Ausdrücke werden in unterstützte Aktivitäten übersetzt, bevor die Workflowdefinition in Workflow-Manager 1.0 hochgeladen wird.Variablen im Workflow sind auf Datentypen aus der vertrauenswürdigen Oberfläche eingeschränkt.

Workflows können mithilfe des Workflow-Designers in Visual Studio, durch direktes Erstellen von XAML über einen erneut gehosteten Designer oder in Code durch Erstellen einer Aktivität mithilfe von ActivityBuilder, der aus der Aktivität abgeleitet ist und in XAML serialisiert wird, erstellt werden.Workflow-Manager 1.0-Beispiele finden Sie unterWorkflow Manager 1.0 - Beispiele.

 Vertrauenswürdige Oberfläche von Workflow-Manager 1.0

Die vertrauenswürdige Oberfläche für Workflow-Manager 1.0 besteht aus Typen und Workflowaktivitäten aus .NET Framework Version 4 sowie aus neuen Typen, die mit Workflow-Manager 1.0 eingeführt wurden.Viele Typen werden unterstützt, und die meisten integrierten Aktivitäten werden unterstützt.In der folgenden Tabelle werden die unterstützten Typen beschrieben.Für jeden dieser unterstützten Typen ist eine entsprechende Sammlung von Aktivitäten verfügbar, mit denen diese Typen manipuliert werden können.

Typ

Unterstützende Aktivitäten

Zeichenfolge:

Zeichenfolgenaktivitäten

Datumsunterstützung mithilfe von DateTime und TimeSpan

Datumsunterstützungsaktivitäten

Numerische Unterstützung mithilfe von Int32 und Double

Aktivitäten des numerischen Typs

Boolean

Boolesche Aktivitäten

Guid

GUID-Aktivitäten

ICollection einschließlich IList

Auflistungsaktivitäten

IDictionary und KeyValuePair

IDictionary

DynamicValue

DynamicValue-Aktivitäten

Ausnahme

Ausnahmeaktivitäten

Uri

URI-Aktivitäten

Hinweis

Neben Aktivitäten zum Unterstützen von Ausdrücken und der Manipulation von primitiven Typen führt Workflow-Manager 1.0 Aktivitäten für die Unterstützung von Ausdrücken, Messaging, Sicherheit, Datenmanipulation und Konfiguration ein.Weitere Informationen zu diesen Aktivitäten finden Sie unter Workflow Manager 1.0 - Aktivitäten im Überblick.Diese Aktivitäten sind Bestandteil der vertrauenswürdigen Oberfläche.

Neben den neuen Aktivitäten, die in Workflow-Manager 1.0 eingeführt wurden, werden die folgenden WF4-Aktivitäten aus den aufgelisteten Workflowassemblys und den entsprechenden Namespaces mit den genannten Ausnahmen unterstützt.

  • System.Activities.dll

    • Alle Aktivitäten mit Ausnahme von

      • InvokeMethod

      • InvokeMethod<T>

      • New<T>

      • Cast<T>

      • VisualBasicValue<T>

      • VisualBasicReference<T>

      • LambdaValue<T>

      • LambdaReference<T>

      • TransactionScope

      • Persist

      • Die meisten Aktivitäten in System.Activities.Expressions werden nicht unterstützt. Es sind jedoch äquivalente Aktivitäten in den Microsoft.Workflow.*-Assemblys verfügbar.

        VariableValue<T>, VariableReference<T>, ArgumentValue<T> und ArgumentReference<T> werden unterstützt.

Hinweis

Einige der Aktivitäten aus dieser Liste sind den Erstellern von Workflows ggf. nicht vertraut, weil sie nicht direkt, sondern beim Übersetzen von Ausdrücken in Aktivitäten verwendet werden.

System_CAPS_importantWichtig

Beachten Sie, einige Elemente – etwa Visual Basic-Ausdrücke – nicht unterstützt werden. Dies bedeutet jedoch nicht, dass Sie sie nicht in Ihren Workflows verwenden können.Es bedeutet nur, dass diese Elemente kein Bestandteil Ihrer Workflowdefinitionen sein können, die in Workflow-Manager 1.0 gehostet werden.Bevor Workflows in Workflow-Manager 1.0 hochgeladen werden, müssen sie übersetzt werden.Übersetzung ist der Vorgang, bei dem Ausdrücke ausgewertet und so konvertiert werden, dass sie unterstützte Aktivitäten aus der vertrauenswürdigen Oberfläche verwenden.

Die folgende Tabelle enthält zusätzliche Informationen zu einigen der Aktivitäten, die in der vertrauenswürdigen Oberfläche von Workflow-Manager 1.0 nicht verfügbar sind.

Aktivitätsdaten

Beschreibung

Nicht verfügbar/Ursache

InvokeMethod/InvokeMethod<TResult>

Ruft eine Instanz oder eine statische öffentliche Methode in einem Typ im Bereich auf.Die Methode kann optional einen Rückgabewert besitzen.

Die Methode kann ggf. bösartigen/beliebigen Kundencode enthalten.

New<TResult>

Erstellt eine neue Instanz eines Typs.

Der Konstruktor kann ggf. bösartigen Code enthalten.

> [!Note] > New<Uri> wird unterstützt.

Cast<TOperand, TResult>

Konvertiert einen Typ in einen anderen Typ.

Führt zum Aufruf des Konstruktors im Ergebnistyp.Der Konstruktor im Ergebnistyp kann ggf. bösartigen Code enthalten.

PropertyValue<TResult>

Ruft einen Eigenschaften-Getter auf.

Der Getter kann ggf. bösartigen/beliebigen Kundencode enthalten.

PropertyReference<TResult>

Ruft einen Eigenschaften-Setter auf.

Der Setter kann ggf. bösartigen/beliebigen Kundencode enthalten.

VisualBasicValue<TResult>

Wertet einen Visual Basic-Ausdruck aus, der einen Wert zurückgibt.

Kann beliebigen und potenziell bösartigen Visual Basic-Code ausführen.

VisualBasicReference<TResult>

Wertet einen Visual Basic-Ausdruck aus, der einen Speicherortverweis zurückgibt.

Kann beliebigen und potenziell bösartigen Visual Basic-Code ausführen.

LambdaValue<TResult>

Wertet einen Lambda-Ausdruck aus, der einen Wert zurückgibt.

Kann beliebigen und potenziell bösartigen C#- oder Visual Basic-Code ausführen.

LambdaReference<TResult>

Wertet einen Lambda-Ausdruck aus, der einen Speicherortverweis zurückgibt.

Kann beliebigen und potenziell bösartigen C#- oder Visual Basic-Code ausführen.