Mostefai Mohammed Amine

Software and Cloud Architect

Amine
  • Contact
Previous Post
Next Post
Oct 18, 2014 C#Worfklow Foundation

Tutoriel Workflow Foundation 2.1 : Activités Primitives

L’objectif de ce tutoriel est de découvrir les activités primitives de WF.

Etape 1 – Création de la solution et du workflow

L’objectif de cette étape est de créer une application console « Workflow » puis de créer un workflow qui contient des activités primitives.

  • Lancer VS 2012
  • Cliquez sur « Fichier à Nouveau à Projet »
  • Choisissez le template « Application Console Workflow »
  • Appelez la solution « PrimitiveWorkflow »
  • Remarquez que VS ouvre directement « Workflow1 » dans le designer
  • Renommez le workflow en « PrimitiveActivity »
  • Corrigez « Program.cs » pour qu’il pointe sur le nouveau nom
  • Ouvrez le workflow en mode designer
  • Faites glisser un « FlowChart » sur le workflow

image

  • Sélectionnez le flowchart puis cliquez sur « Variables »
  • Ajoutez une variable appelée « X » de type « String » et donne la valeur est « formation wf » en minuscules (avec les guillemets)
image

 

  • Fermez la zone des variables en recliquant sur « variables »
  • Faites glisser une activité « WriteLine » juste après l’activité « Start ». En mettant le curseur de la souris sur l’activité « Start », des bords bleus apparaissent. Faites glisser un bord de « Start » à « WriteLine » pour lier les deux activités.
  • Cliquez avec le bouton droit sur l’activité « WriteLine »
  • Cliquez sur « Ajouter une annotation »
  • Dans l’annotation écrivez « affichage de la première valeur »
  • Les annotations sont une nouvelle fonctionnalité de WF permettant d’annoter les activités pour les rendre plus lisibles et faciles à maintenir.
  • Dans la zone « Text » de l’activité « WriteLine » entrez « X.ToString() + " " + DateTime.Now.ToString()
  • Remarquez l’utilisation des expressions C# et de l’intellisense Visual Studio
  • Faites glisser en dessous de « WriteLine » une activité « Delay » de façon à ce que le bord inférieur de la « WriteLine » apparaisse. Remarquez que le designer lie automatiquement les deux activités.
  • Dans la fenêtre de propriétés relative au « Delay », dans la propriété « Duration », entrez « TimeSpan.FromSeconds(3) ». ça permettra de poser le workflow pendant 3 secondes.

image

Etape 2 : Intégration avec des objets C#

L’objectif de cette étape est de permettre à notre workflow d’invoquer une méthode d’une classe C#

  • Ajoutez une classe publique à la solution appelée « Appels »
  • Ajoutez une méthode statique à cette classe appelée « MajPuisAfficher » comme suit :
public static void MajPuisAfficher(string p)
      {
          p = p.ToUpper();
          Console.WriteLine(p);
      }
  • Dans le workflow glissez une activité « InvokeMethod »
  • Dans la zone « TargetType », sélectionnez « Chercher des types »
  • Cherchez le type « Appel »
  • Si le type n’apparaît pas, recompilez la solution
  • Cliquez sur « OK »

image

  • Dans la zone « MethodName », entrez « MajPuisAfficher »
  • Dans la fenêtre des propriétés, cliquez sur la propriété « Parameters »
  • Indiquez un paramètre en entrée représenté par « X »

image

  • Cliquez sur OK
  • Ouvrez « Program.cs » puis ajoutez une lecture d’une touche à la fin
Activity workflow1 = new PrimitiveActivity();
            WorkflowInvoker.Invoke(workflow1);
            Console.ReadKey();
  • Exécutez l’application

Pour télécharge le code, cliquez sur le lien suivant : http://1drv.ms/1ogIWp0 

Enjoy !

PrimitiveWorkflowworkflow foundationactivity
Share This Post

Related posts

  • Tutoriel 1.1 : Découverte de Workflow Foundation 4.5 L’objectif de ce tutoriel, relatif au premier cours, est de découvrir la structure d’une application...
  • WF Cours 4–Services Avancés. Tutoriel 4.1 Persistance–Partie 2 Ce tutoriel est la suite de la première partie qui consiste à mettre en place un workflow utilisant ...
  • Tutoriel Workflow Foundation 2.1 : Activités Primitives L’objectif de ce tutoriel est de découvrir les activités primitives de WF. Etape 1 – Création de la
Saving the comment

Cancel reply to comment

The captcha value you provided is incorrect.