Workflow Foundation > Trucs & Astuces > Récupérer une instance de Workflow lors de l’utilisation des Webservices auto générés
       Accueil
       L'équipe


       Présentation
       Activités WF
       Articles
       Tutoriaux
       Trucs & Astuces


       Forum (MSDN)
       Téléchargements
       Ressources FR
       Annuaire des liens
       Formation (WW)


       Administration


 


Ne ratez pas le MSDN et TechNet Tour 2008 : votre nouveau rendez-vous Développeur dans votre région

Récupérer une instance de Workflow lors de l’utilisation des Webservices auto générés

Windows Workflow Foundation offre la possibilité d’exposer directement un workflow via des services Web. Le problème avec cette génération automatique est qu’elle ne permet pas intuitivement une maîtrise totale des vos instances de Workflow, l’identifiant de l’instance n’étant pas spécifié lors des appels aux diverses WebMethods.

Pour travailler sur l’instance souhaitée, lors de l’appel à votre WebMethod, il faut donc spécifier un cookie contenant l’instance ciblée. Les Webservices auto générés s’occupent ensuite de récupérer cette instance, en mémoire ou dans le service de persistance en fonction de votre configuration.

Par exemple, si votre contrat de communication contient une méthode « Validation », acceptant ou refusant une action en fonction d’un boolean et que instanceID représente le Guid identifiant une instance de workflow active:

WFWebservice.Workflow1_WebService ws = new WindowsApplication1.WFWebservice.Workflow1_WebService();
ws.CookieContainer = new System.Net.CookieContainer();
ws.CookieContainer.Add(new System.Net.Cookie("WF_WorkflowInstanceId", instanceID, "/", "localhost"));
ws.Validation(true);