Partager via


Prise en charge des nouvelles fonctionnalités de Workflow Foundation 4.5 dans le Concepteur de flux de travail réhébergé

Windows Workflow Foundation (WF) dans .NET Framework 4.5 a introduit de nombreuses nouvelles fonctionnalités, notamment plusieurs améliorations apportées à l’expérience du concepteur de flux de travail. Cette rubrique détaille les fonctionnalités prises en charge dans le concepteur réhébergé et celles qui ne sont actuellement pas prises en charge.

Remarque

Pour consulter la liste de toutes les nouvelles fonctionnalités Windows Workflow Foundation (WF) introduites dans .NET Framework 4.5, notamment celles qui ne sont pas liées au réhébergement du concepteur, voir Nouveautés de Windows Workflow Foundation dans .NET Framework 4.5.

Activités

La bibliothèque d’activités intégrée contient de nouvelles activités et de nouvelles fonctionnalités pour les activités existantes. Toutes ces nouvelles activités sont prises en charge dans le concepteur réhébergé. Pour plus d’informations sur ces nouvelles activités, consultez la section Activités des nouveautés de Windows Workflow Foundation dans .NET Framework 4.5.

Expressions C#

Avant .NET Framework 4.5, toutes les expressions des flux de travail ne peuvent être écrites qu’en Visual Basic. Dans .NET Framework 4.5, les expressions Visual Basic sont utilisées uniquement pour les projets créés à l’aide de Visual Basic. Les projets Visual C# utilisent désormais C# pour les expressions. Lors de la création de flux de travail dans Visual Studio 2012, un éditeur d’expressions C# entièrement fonctionnel est fourni avec les fonctionnalités telles que la mise en surbrillance grammaticale et intellisense. Les projets de flux de travail C# créés dans les versions précédentes qui utilisent des expressions Visual Basic continueront de fonctionner.

Avertissement

Les expressions C# ne sont pas prises en charge dans le concepteur réhébergé.

Nouvelles fonctionnalités du concepteur

Les fonctionnalités recherche et recherche rapidedans les fichiers introduites avec .NET Framework 4.5 ne sont pas prises en charge dans le concepteur réhébergé. La recherche Toolbox est prise en charge dans le concepteur réhébergé. Pour plus d’informations sur ces fonctionnalités, consultez Recherche du concepteur.

Avertissement

La recherche rapide et la recherche dans les fichiers ne sont pas prises en charge dans le concepteur réhébergé.

Supprimer l’élément de menu contextuel dans le concepteur de variables et d’arguments

Dans .NET Framework 4, les variables et les arguments ne peuvent être supprimés que dans le concepteur à l’aide du clavier. À compter de .NET Framework 4.5, les variables et les arguments peuvent être supprimés à l’aide du menu contextuel. Cette fonctionnalité est prise en charge dans le concepteur réhébergé.

La capture d’écran suivante montre le menu contextuel de la variable et du concepteur d’arguments.

Menu contextuel du Concepteur de variables et d’arguments

Encadrement automatique avec séquence

Étant donné qu’un flux de travail ou certaines activités de conteneur (par exemple NoPersistScope) ne peuvent contenir qu’une activité de corps unique, l’ajout d’une deuxième activité a demandé au développeur de supprimer la première activité, d’ajouter une Sequence activité, puis d’ajouter les deux activités à l’activité de séquence. À compter de .NET Framework 4.5, lors de l’ajout d’une deuxième activité à la surface du concepteur, une Sequence activité est automatiquement créée pour encapsuler les deux activités. Cette fonctionnalité est prise en charge dans le concepteur réhébergé.

La capture d'écran suivante affiche une activité WriteLine avec le Body d'un NoPersistScope.

Une activité WriteLine dans le corps d’une activité NoPersistScope.

La capture d'écran suivante montre l'activité Sequence créée automatiquement dans le Body lorsqu'une seconde WriteLine est placée sous la première.

Séquence créée automatiquement dans le corps d’un NoPersistScope.

Mode panoramique

Pour naviguer plus facilement dans un flux de travail volumineux dans le concepteur, le mode panoramique peut être activé, ce qui permet au développeur de cliquer et de faire glisser pour déplacer la partie visible du flux de travail, plutôt que de devoir utiliser les barres de défilement. Le bouton pour activer le mode panoramiques se trouve dans le coin inférieur droit du concepteur. Cette fonctionnalité est prise en charge dans le concepteur réhébergé.

La capture d’écran suivante montre le bouton panoramique situé en bas à droite du concepteur de flux de travail.

Le bouton panoramique mis en surbrillance dans le concepteur de workflow.

Le bouton central de la souris ou la barre d’espace peut également être utilisé pour faire défiler le concepteur de flux de travail.

Sélection multiple

Plusieurs activités peuvent être sélectionnées à la fois, soit en faisant glisser un rectangle autour d’eux (lorsque le mode panoramique n’est pas activé), soit en maintenant la touche Ctrl enfoncée, puis en cliquant sur les activités souhaitées une par une. Cette fonctionnalité est prise en charge dans le concepteur réhébergé.

Il est également possible de glisser-déplacer plusieurs activités sélectionnées et de les utiliser dans une interaction à l'aide du menu contextuel.

Vue hiérarchique des éléments de flux de travail

Pour faciliter la navigation des flux de travail hiérarchiques, les composants d’un flux de travail sont affichés dans une vue hiérarchique de style arborescence. Le mode Plan est affiché dans la vue Structure du document. Pour ouvrir cette vue dans Visual Studio, dans le menu supérieur, sélectionnez Affichage, Autres Fenêtres, Plan du document ou appuyez sur Ctrl W,U. En cliquant sur un nœud en mode Plan, vous accédez à l’activité correspondante dans le concepteur de flux de travail, et l’affichage plan sera mis à jour pour afficher les activités sélectionnées dans le concepteur. Cette fonctionnalité est prise en charge dans le concepteur réhébergé.

La capture d'écran suivante du flux de travail terminé à partir du didacticiel de prise en main montre la vue d'ensemble avec un flux de travail séquentiel.

Capture d’écran de la vue plan avec un flux de travail séquentiel dans Visual Studio

Meilleur contrôle de la visibilité des éléments d'en-tête et de la barre de shell

Dans un concepteur réhébergé, certains des contrôles d’interface utilisateur standard peuvent ne pas avoir de signification pour un flux de travail donné et peuvent être désactivés. Dans .NET Framework 4, cette personnalisation est uniquement prise en charge par la barre shell en bas de l'éditeur. Dans .NET Framework 4.5, la visibilité des éléments d’en-tête de shell en haut du concepteur peut être ajustée en ajustant WorkflowShellHeaderItemsVisibility sur la valeur ShellHeaderItemsVisibility appropriée.

Se connecter automatiquement et insérer automatiquement dans les flux de travail Flowchart et State Machine

Dans .NET Framework 4, les connexions entre les nœuds d'un flux de travail sous forme d'organigramme devaient être ajoutées manuellement. Dans .NET Framework 4.5, les nœuds Organigramme et Machine à états ont des points de connexion automatique qui sont visibles lorsqu’une activité est déplacée de la boîte à outils vers l’aire du concepteur. Le dépôt d’une activité sur un de ces points ajoute automatiquement l’activité avec la connexion nécessaire.

La capture d'écran suivante montre les points d'attachement qui deviennent visibles lorsqu'une activité est déplacée depuis la boîte à outils.

Nœud de démarrage de l’organigramme indiquant les points de connexion automatique

Les activités peuvent également être déplacées vers des connexions entre des nœuds de diagramme de flux et des états pour insérer automatiquement le nœud entre deux autres nœuds. La capture d’écran suivante montre la ligne de connexion en surbrillance où les activités peuvent être glissées-déposées depuis la boîte à outils.

Poignée d'insertion automatique pour déposer les activités

Connexion automatique et insertion automatique sont prises en charge dans le concepteur réhébergé.

Annotations du concepteur

Pour faciliter le développement de flux de travail plus volumineux, le concepteur prend désormais en charge l’ajout d’annotations pour assurer le suivi du processus de conception. L’annotation peut être ajoutée aux activités, aux états, aux nœuds de diagramme de flux, aux variables et aux arguments. La capture d’écran suivante montre le menu contextuel utilisé pour ajouter des annotations au concepteur.

Capture d’écran montrant le menu pour ajouter des notations.

Les annotations du designer sont prises en charge dans le designer réhébergé.

Définir et consommer des objets ActivityDelegate dans le concepteur

Les activités dans .NET Framework 4 utilisaient des ActivityDelegate objets pour exposer des points d’exécution où d’autres parties du flux de travail pouvaient interagir avec l’exécution d’un flux de travail, mais l’utilisation de ces points d’exécution nécessitait généralement une quantité équitable de code. Dans cette version, les développeurs peuvent définir et consommer des délégués d’activité à l’aide du concepteur de flux de travail. Pour plus d’informations, consultez Guide pratique pour définir et consommer des délégués d’activité dans le Concepteur de flux de travail.

Les délégués d'activité sont pris en charge dans le concepteur réhébergé.

Validation au moment de la génération

Dans .NET Framework 4, les erreurs de validation de flux de travail n’ont pas été comptabilisées comme des erreurs de build pendant la génération d’un projet de flux de travail. Cela signifie que la création d’un projet de flux de travail peut réussir même en cas d’erreurs de validation de flux de travail. Dans .NET Framework 4.5, les erreurs de validation de flux de travail provoquent l’échec de la génération.

Avertissement

La validation au moment de la génération n’est pas prise en charge dans le concepteur réhébergé.

Validation d'arrière-plan au moment du design

Dans .NET Framework 4, les flux de travail ont été validés en tant que processus de premier plan, ce qui peut potentiellement bloquer l’interface utilisateur pendant les processus de validation complexes ou fastidieux. La validation du flux de travail a maintenant lieu sur un thread d’arrière-plan, afin que l’interface utilisateur ne soit pas bloquée.

La validation de l'arrière-plan au moment de la génération est prise en charge dans le concepteur réhébergé.

Afficher l’état situé dans un emplacement distinct dans les fichiers XAML

Dans .NET Framework 4, les informations d’état d’affichage d’un flux de travail sont stockées dans le fichier XAML dans de nombreux emplacements différents. Cela est peu pratique pour les développeurs qui souhaitent lire directement XAML ou écrire du code pour supprimer les informations d’état d’affichage. Dans .NET Framework 4.5, les informations d’état d’affichage dans le fichier XAML sont sérialisées en tant qu’élément distinct dans le fichier XAML. Les développeurs peuvent facilement localiser et modifier les informations d’état d’affichage d’une activité, ou supprimer complètement l’état d’affichage.

Cette fonctionnalité est prise en charge dans le concepteur de flux de travail réhébergé.

Opter pour les fonctionnalités de workflow 4.5 dans le concepteur réhébergé

Pour préserver la compatibilité descendante, certaines nouvelles fonctionnalités incluses dans .NET Framework 4.5 ne sont pas activées par défaut dans le concepteur réhébergé. Cela permet de s’assurer que les applications existantes qui utilisent le concepteur réhébergé ne sont pas rompues en mettant à jour vers la dernière version. Pour activer de nouvelles fonctionnalités dans le concepteur réhébergé, définissez TargetFrameworkName sur ".Net Framework 4.5", ou configurez des membres individuels de DesignerConfigurationService pour activer des fonctionnalités spécifiques.

Nouveaux modèles de développement de flux de travail

Outre les modèles de développement d’organigramme et workflow séquentiel, cette mise en production inclut des workflows Machine à états, et les services de workflow Contrat en premier.

Workflows de machine à états

Les flux de travail d’ordinateur d’état ont été introduits dans le cadre du .NET Framework 4.0.1 dans Microsoft .NET Framework 4 Platform Update 1. Cette mise à jour comprenait plusieurs nouvelles classes et activités qui permettaient aux développeurs de créer des flux de travail d’ordinateur d’état. Ces classes et activités ont été mises à jour pour .NET Framework 4.5. Les mises à jour incluent les modifications suivantes :

  1. Possibilité de définir des points d’arrêt sur des états

  2. Possibilité de copier et coller des transitions dans le concepteur de flux de travail

  3. Prise en charge du concepteur pour la création de transition de déclencheur partagée

  4. Activités utilisées pour créer des flux de travail State Machine, notamment : StateMachine, Stateet Transition

La capture d’écran suivante montre le flux de travail de machine à états terminé à partir de l’étape Didacticiel Prise en mainGuide pratique pour créer un flux de travail de machine à états.

Illustration qui montre le workflow de machine à états terminé.

Pour plus d’informations sur la création de flux de travail d’ordinateur d’état, consultez Flux de travail d’ordinateur d’état. Les workflow de machine à états sont pris en charge dans le concepteur réhébergé.

Développement de workflow « contrat en premier »

L’outil de développement de workflow contract-first permet au développeur de concevoir d’abord un contrat dans le code, puis, en quelques clics dans Visual Studio, générer automatiquement un modèle d’activité dans la boîte à outils représentant chaque opération. Ces activités sont ensuite utilisées pour créer un flux de travail qui implémente les opérations définies par le contrat. Le concepteur de flux de travail valide le service de flux de travail pour s’assurer que ces opérations sont implémentées et que la signature du flux de travail correspond à la signature du contrat. Le développeur peut également associer un service de flux de travail à une collection de contrats implémentés. Pour plus d’informations sur le développement du service de flux de travail de premier contrat, consultez Guide pratique pour créer un service de flux de travail qui consomme un contrat de service existant.

Avertissement

Le développement de workflow « contrat en premier » n'est pas pris en charge dans Workflow Designer.