Prise en charge de nouvelles fonctionnalités Workflow Foundation 4.5 dans le concepteur de workflow réhébergé
Windows Workflow Foundation (WF) dans .NET Framework 4.5 a introduit plusieurs nouvelles fonctionnalités, notamment plusieurs améliorations à l’utilisation du Concepteur de flux de travail. Cette rubrique détaille lesquelles de ces fonctionnalités sont prises en charge dans le concepteur réhébergé, et celles qui ne sont pas actuellement prises en charge.
Notes
Pour obtenir la liste de toutes les nouvelles fonctionnalités Windows Workflow Foundation (WF) introduites dans .NET Framework 4.5, y compris celles qui ne sont pas liées au réhébergement du concepteur, consultez 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 de Nouveautés dans Windows Workflow Foundation dans .NET Framework 4.5.
Expressions C#
Avant .NET Framework 4.5, toutes les expressions de workflow ne pouvaient être écrites que dans Visual Basic. Dans .NET Framework 4.5, les expressions Visual Basic sont uniquement utilisées pour les projets créés à l’aide de Visual Basic. Les projets Visual C# utilisent C# pour les expressions. Lors de la création de workflow dans Visual Studio 2012, un éditeur d’expressions C# fonctionnel est fourni, qui a des fonctions telles que la mise en surbrillance de la grammaire et IntelliSense. Les projets de workflow C# créés dans les versions antérieures qui utilisent des expressions Visual Basic continueront à fonctionner.
Avertissement
Les expressions C# ne sont pas prises en charge dans le concepteur réhébergé.
Nouvelles fonctions du concepteur
Recherche du concepteur
Les fonctionnalités Recherche rapide et Rechercher dans les fichiers introduites dans .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
Les fonctionnalités Recherche rapide et Rechercher 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 variable et d’argument
Dans .NET Framework 4, les variables et les arguments ne pouvaient être supprimés dans le concepteur qu’en utilisant le clavier. À partir 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 indique le menu contextuel du concepteur de variable et d’argument.
Encadrement automatique avec séquence
Étant donné qu'un workflow ou certaines activités de conteneur (telles que NoPersistScope) peuvent uniquement contenir une seule activité de corps, l'ajout d'une deuxième activité exigeait que le développeur supprime la première activité, ajoute une activité Sequence, puis ajoute les deux activités à l'activité de séquence. À partir de .NET Framework 4.5, lors de l’ajout d’une deuxième activité sur l’aire du concepteur, un activité Sequence
est créée automatiquement 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
.
La capture d’écran suivante montre l’activité Sequence
créée automatiquement dans le Body
lorsqu’un second WriteLine
est déposé sous le premier.
Mode Panoramique
Pour naviguer plus facilement dans un grand workflow dans le concepteur, le mode panoramiques peut être activé, ce qui permet au développeur de cliquer sur la partie visible du workflow et de la faire glisser, plutôt que d'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 indique le bouton de panoramique qui se trouve dans le coin inférieur droit du concepteur de workflow.
Le bouton central de la souris ou la barre d'espace peut également être utilisé pour appliquer un panoramique au concepteur de workflow.
Multisélection
Plusieurs activités peuvent être sélectionnées en même temps, en faisant glisser un rectangle autour d'elles (lorsque le mode panoramique n'est pas activé), ou en maintenant la touche Ctrl enfoncée et en cliquant sur les activités souhaitées une à 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.
Mode Plan des éléments de workflow
Afin de simplifier la navigation dans les workflows hiérarchiques, les composants d’un workflow s’affichent dans un mode Plan de style arborescent. Le mode Plan est affiché dans la vue Structure du document. Pour ouvrir cette vue dans Visual Studio, dans le menu principal, sélectionnez Affichage, Autres fenêtres, Structure du document ou appuyez sur Ctrl W,U. Cliquer sur un nœud en mode Plan permet d'accéder à l'activité correspondante dans le Concepteur de workflow, et le mode Plan est mis à jour pour afficher les activités qui sont sélectionnées dans le concepteur. Cette fonctionnalité est prise en charge dans le concepteur réhébergé.
La capture d’écran suivante du workflow terminé du Didacticiel Prise en main montre le mode Plan avec un workflow séquentiel.
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 workflow donné, et peuvent être désactivés. Dans .NET Framework 4, cette personnalisation est prise en charge uniquement par la barre de shell en bas du concepteur. 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.
Connexion automatique et insertion automatique dans les workflows Organigramme et Machine à états
Dans .NET Framework 4, les connexions entre les nœuds d’un workflow 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 sont visibles lorsqu'une activité est déplacée depuis la boîte à outils.
Les activités peuvent également être déplacées sur les connexions entre des nœuds d'organigramme et des états de façon à 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.
Connexion automatique et insertion automatique sont prises en charge dans le concepteur réhébergé.
Annotations du concepteur
Pour faciliter le développement de plus grands workflows, le concepteur prend désormais en charge l'ajout d'annotations pour faciliter le suivi du processus de création. Une annotation peut être ajoutée aux activités, états, nœuds d’organigramme, variables et arguments. La capture d'écran suivante montre le menu contextuel utilisé pour ajouter des annotations au concepteur.
Les annotations du concepteur sont prises en charge dans le concepteur réhébergé.
Définir et consommer des objets ActivityDelegate dans le concepteur
Les activités dans .NET Framework 4 utilisaient des objets ActivityDelegate pour exposer des points d’exécution où d’autres parties du workflow peuvent interagir avec l’exécution d’un workflow, mais l’utilisation de ces points d’exécution nécessite généralement du code. Dans cette version finale, les développeurs peuvent définir et utiliser des délégués d'activité à l'aide du concepteur de workflow. Pour plus d’informations, consultez Guide pratique pour définir et utiliser 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 workflow n’étaient pas été comptées comme des erreurs de build pendant la génération d’un projet de workflow. Cela signifiait que la génération d’un projet de workflow pouvait réussir même lorsqu’il existait des erreurs de validation de workflow. 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 workflows étaient validés en tant que processus de premier plan, ce qui pouvait éventuellement bloquer l’interface utilisateur pendant les processus de validation complexes ou longs. La validation de workflow a lieu à présent 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é.
État d'affichage dans un emplacement distinct des fichiers XAML
Dans .NET Framework 4, les informations d’état d’affichage pour un workflow sont stockées dans le fichier XAML en différents emplacements. Cela n'est pas pratique pour les développeurs qui souhaitent lire le XAML directement, 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 rechercher et modifier des 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 workflow réhébergé.
Opter pour les fonctionnalités de workflow 4.5 dans le concepteur réhébergé
Pour conserver 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é. Il s'agit de garantir que les applications existantes qui utilisent le concepteur réhébergé ne sont pas interrompues par la mise à jour vers la version la plus récente. Pour activer les nouvelles fonctionnalités du concepteur réhébergé, affectez à TargetFrameworkName la valeur « .Net Framework 4.5 », ou définissez des membres de DesignerConfigurationService pour activer des fonctionnalités.
Nouveaux modèles de développement de workflow
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 workflows de machine à états ont été introduits dans le cadre de .NET Framework 4.0.1 dans Microsoft .NET Framework 4 Platform Update 1. Cette mise à jour inclut plusieurs nouvelles classes et activités qui permettent aux développeurs de créer des workflow de machine à états. Ces classes et activités ont été mises à jour pour le .NET Framework 4.5. Les mises à jour comprennent :
Possibilité de définir des points d'arrêt sur des états
Possibilité de copier et coller des transitions dans le concepteur de workflow
Prise en charge du concepteur pour la création de transition de déclencheur partagée
Les activités utilisées pour créer des workflows Machine à états, notamment : StateMachine, State et 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.
Pour plus d’informations sur la création de workflows Machine à états, consultez Flux de travail de machine à états. 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 Contrat en premier permet au développeur de concevoir un contrat dans le code en premier, puis, en quelques clics dans Visual Studio, de 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 workflow qui implémente les opérations définies par le contrat. Le concepteur de workflow validera le service de workflow pour garantir que ces opérations sont implémentées et que la signature du workflow correspond à la signature du contrat. Le développeur peut également associer un service de workflow à une collection de contrats implémentés. Pour plus d’informations sur le développement de service de flux de travail de premier contrat, consultez Guide pratique pour créer un service de flux de travail qui utilise un contrat de service existant.
Avertissement
Le développement de workflow « contrat en premier » n'est pas pris en charge dans Workflow Designer.