Share via


Surface approuvée Workflow Manager 1.0

 

Publication: mai 2016

Workflow Manager 1.0 inclut la notion de « surface approuvée » pour la création des flux de travail. Une surface approuvée est un ensemble d’activités et de types approuvés auxquels les utilisateurs peuvent accéder pour créer leurs flux de travail. Ceux-ci sont définis de façon déclarative à l’aide de compositions de ces types et activités. Les types autorisés sont limités à l’aide d’une liste incluant l’ensemble des types autorisés dans le système. Lorsque la liste blanche est activée, les définitions de flux de travail sont vérifiées au moment du chargement pour garantir que seuls les types autorisés sont utilisés. Cette rubrique fournit une vue d’ensemble de la création des flux de travail déclaratifs à l’aide de la surface approuvée de Workflow Manager 1.0.

Création de flux de travail déclaratifs pour Workflow Manager 1.0

Les flux de travail hébergés dans Workflow Manager 1.0 sont entièrement déclaratifs et créés à l’aide d’une surface approuvée, via la mise à jour 4.0.3 pour Microsoft .NET Framework 4 et Windows Workflow Foundation (WF4). Des activités, des expressions et des variables de la surface approuvée sont utilisées pour créer un flux de travail pour Workflow Manager 1.0. Les activités utilisées peuvent provenir de la liste d’activités approuvées. Des activités XAML personnalisées constituées d’activités approuvées peuvent être utilisées. Les expressions Visual Basic ne sont pas autorisées dans la définition de flux de travail hébergée dans Workflow Manager 1.0. En revanche, les activités d’expression de l’espace de noms Microsoft.Activities.Expressions peuvent être utilisées lors de la création des flux de travail. Les expressions sont traduites en activités prises en charge avant le chargement de la définition de flux de travail vers Workflow Manager 1.0. Les variables dans le flux de travail sont limitées aux types de données de la surface approuvée.

Les flux de travail peuvent être créés à l’aide du Concepteur de flux de travail dans Visual Studio, ce qui permet de créer directement du code XAML via un concepteur réhébergé, ou dans le code en créant une activité à l’aide de la classe ActivityBuilder dérivant de Activity et sérialisée en XAML. Pour consulter des Workflow Manager 1.0exemples, voir Exemples Workflow Manager 1.0.

 Surface approuvée de Workflow Manager 1.0

La surface approuvée pour Workflow Manager 1.0 est constituée de types et d’activités de .NET Framework version 4, ainsi que de nouveaux types introduits dans Workflow Manager 1.0. De nombreux types sont pris en charge et la plupart des activités prédéfinies sont prises en charge. Le tableau suivant inclut les types pris en charge. Un ensemble correspondant d’activités est disponible pour la manipulation de chacun de ces types pris en charge.

Type

Activités de prise en charge

Chaîne

Activités de chaîne

Prise en charge de la date à l’aide de DateTime et TimeSpan

Activités de prise en charge de la date

Prise en charge numérique à l’aide de Int32 et Double

Activités de type numérique

Boolean

Activités booléennes

Guid

Activités de GUID

ICollection, notamment IList

Activités de collection

IDictionary et KeyValuePair

IDictionary

DynamicValue

Activités de DynamicValue

Exception

Activités d’exception

Uri

Activités d’URI

Notes

Outre les activités de prise en charge des expressions et de manipulation des types primitifs, Workflow Manager 1.0 inclut des activités de prise en charge des expressions, de la messagerie, de la sécurité, de la manipulation des données et de la configuration. Pour plus d'informations sur ces activités, voir Présentation des activités Workflow Manager 1.0. Ces activités font partie de la surface approuvée.

Outre les nouvelles activités incluses dans Workflow Manager 1.0, les activités WF4 suivantes des assemblys de flux de travail répertoriés et les espaces de noms respectifs sont pris en charge avec les exceptions notées.

  • System.Activities.dll

    • Toutes les activités à l’exception de

      • InvokeMethod

      • InvokeMethod<T>

      • New<T>

      • Cast<T>

      • VisualBasicValue<T>

      • VisualBasicReference<T>

      • LambdaValue<T>

      • LambdaReference<T>

      • TransactionScope

      • Persist

      • La plupart des activités dans System.Activities.Expressions ne sont pas prises en charge. Il existe toutefois des activités équivalentes dans les assemblys Microsoft.Workflow.*.

        VariableValue<T>, VariableReference<T>, ArgumentValue<T> et ArgumentReference<T> sont pris en charge.

Notes

Il se peut que les créateurs de flux de travail ne soient pas familiarisés avec certaines des activités dans cette liste, car celles-ci ne sont pas utilisées directement mais lors de la traduction des expressions en activités.

System_CAPS_importantImportant

Si certains éléments tels que les expressions Visual Basic ne sont pas pris en charge, vous pouvez tout de même les utiliser dans vos flux de travail. Cela signifie que ces éléments ne peuvent pas faire partie de vos définitions de flux de travail hébergées dans Workflow Manager 1.0. Comme les flux de travail sont chargés dans Workflow Manager 1.0, ils doivent être traduits. La traduction consiste à évaluer les expressions et à les convertir pour utiliser les activités prises en charge à partir de la surface approuvée.

Le tableau suivant contient des informations supplémentaires sur certaines des activités non disponibles dans la surface approuvée de Workflow Manager 1.0.

Activité

Description

Raison de l’indisponibilité

InvokeMethod/InvokeMethod<TResult>

Appelle une instance ou une méthode publique statique dans un type dans l’étendue. La méthode peut éventuellement inclure une valeur de retour.

La méthode peut contenir du code personnalisé malveillant/arbitraire.

New<TResult>

Crée une instance d’un type.

Le constructeur peut contenir du code malveillant.

> [!Note] > New<Uri> est pris en charge.

Cast<TOperand, TResult>

Convertit un type en un autre.

Entraîne l’appel du constructeur dans le type de résultat. Le constructeur dans le type de résultat peut contenir du code malveillant.

PropertyValue<TResult>

Appelle un accesseur Get de propriété.

L’accesseur Get peut contenir du code personnalisé malveillant/arbitraire.

PropertyReference<TResult>

Appelle un accesseur Set de propriété.

L’accesseur Set peut contenir du code personnalisé malveillant/arbitraire.

VisualBasicValue<TResult>

Évalue une expression Visual Basic qui renvoie une valeur.

Peut exécuter du code Visual Basic arbitraire et potentiellement malveillant.

VisualBasicReference<TResult>

Évalue une expression Visual Basic qui renvoie une référence d’emplacement.

Peut exécuter du code Visual Basic arbitraire et potentiellement malveillant.

LambdaValue<TResult>

Évalue une expression lambda qui renvoie une valeur.

Peut exécuter du code C# ou Visual Basic arbitraire et potentiellement malveillant.

LambdaReference<TResult>

Évalue une expression lambda qui renvoie une référence d’emplacement.

Peut exécuter du code C# ou Visual Basic arbitraire et potentiellement malveillant.