Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les activités créées en héritant de CodeActivity peuvent implémenter un comportement impératif de base en remplaçant la méthode Execute.
Utilisation de CodeActivityContext
Les fonctionnalités du runtime de flux de travail sont accessibles à partir de la Execute méthode à l’aide des membres du context paramètre, de type CodeActivityContext. Les fonctionnalités disponibles par CodeActivityContext incluent les suivantes :
Obtention et définition des valeurs de variables et d’arguments.
Fonctionnalités de suivi personnalisées en utilisant Track.
Accès aux propriétés d’exécution de l’activité à l’aide de GetProperty.
Pour créer une activité personnalisée qui hérite de CodeActivity
Ouvrez Visual Studio 2010.
Sélectionnez Fichier, Nouveau, puis Projet. Sélectionnez Workflow 4.0 sous Visual C# dans la fenêtre Types de projets , puis sélectionnez le nœud v2010 . Sélectionnez Bibliothèque d’activités dans la fenêtre Modèles . Nommez le nouveau projet HelloActivity.
Cliquez avec le bouton droit sur Activity1.xaml dans le projet HelloActivity, puis sélectionnez Supprimer.
Cliquez avec le bouton droit sur le projet HelloActivity, puis sélectionnez Ajouter , puis Classe. Nommez la nouvelle classe HelloActivity.cs.
Dans le fichier HelloActivity.cs, ajoutez les directives suivantes
using.using System.Activities; using System.Activities.Statements;Faites en sorte que la nouvelle classe hérite de CodeActivity en ajoutant une classe de base à la déclaration de classe.
class HelloActivity : CodeActivityAjoutez des fonctionnalités à la classe en ajoutant une Execute méthode.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }Utilisez la CodeActivityContext méthode pour créer un enregistrement de suivi.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }