IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Workflow Foundation .NET Discussion :

Accéder aux membres d'un WF depuis une custom activity


Sujet :

Windows Workflow Foundation .NET

  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut Accéder aux membres d'un WF depuis une custom activity
    On voit plein de custom activity sur le net qui sont dropéés sur le WF et qui font leur travail, (envoyer un mail, ecrire dans un fichier texte, etc) mais jamais, aucun exemple ne "travaille" avec le context du workflow.

    Mon Workflow se trimballe un objet X de bout en bout et l'une des tâches a été mise dans une customActivity car seul un parametre change (en gros, je défini un Etat à mon objet X (X.Etat = ???)).

    Mon problème est que, depuis ma custom activity, je ne trouve pas comment accéder à la propriété X de mon workflow dans laquelle mon activité est deposée. J'aimerai en fait, déposer une activité qui, dès que le process passe par elle, change une propriété du workflow.
    j'ai gardé ca pour la fin tellement ca me semblait trivial et au final je trouve pas
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Je ne connais pas WF, mais en général ce genre de chose (récupération d'infos sur le contexte) se fait en passant par un IServiceProvider.

    Par exemple, la méthode Activity.Execute prend en paramètre un ActivityExecutionContext, qui implémente IServiceProvider. En regardant avec Reflector le code de la méthode GetService, tu devrais pouvoir identifier quels services peuvent être renvoyés, et voir si l'un d'eux peut te renvoyer le workflow courant
    (la doc est rarement explicite sur les services disponibles, donc Reflector semble être la seule solution )

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    ouais mais les services m'intéressent pas dans ce cas précis. En fait, je pense que j'essaie de faire quelque chose pour laquelle les custom activities ne sont pas faites pour.

    J'ai déjà fouillé dans le context ou encore le parent voir si je pouvais remonter jusqu'au workflow mais non, pas trouvé ce que je souhaite.


    pour WF, les services sont
    celui de persistance
    de tracking
    de queuing
    d'echange de données (avec l'extérieur du workflow!!)
    donc un peu bloqué le L-G là
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Quand tu crée une activité, elle n'est pas supposée dépendre du workflow dans lequel elle va être executée. Le but d'une activité est de créer un block logique qui va pouvoir être réutilisé.

    Dans ton cas, tu as deux solutions. La première, tu utilises une CodeActivity. Tu auras donc directement accès au workflow. La deuxième, dans ton activité, tu crées une dependency property que tu bind sur ce que tu veux modifier dans ton workflow.

    Pour ce qui est des services, rien ne t'empêches d'en ajouter d'autres.

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Quand tu crée une activité, elle n'est pas supposée dépendre du workflow dans lequel elle va être executée. Le but d'une activité est de créer un block logique qui va pouvoir être réutilisé.
    ouais, c'est ce que j'ai conclu et c'est pour que je dis vouloir faire un truc que WF n'est pas censé faire

    Dans ton cas, tu as deux solutions. La première, tu utilises une CodeActivity. Tu auras donc directement accès au workflow. La deuxième, dans ton activité, tu crées une dependency property que tu bind sur ce que tu veux modifier dans ton workflow.
    c'est la solution que j'ai finalement suivi. ca agit un peu comme une codeactivity puisque j'ai rajouté mon event qui est déclenché dans le execute de la custom activity.
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/02/2013, 21h23
  2. Réponses: 10
    Dernier message: 22/08/2010, 14h35
  3. Réponses: 3
    Dernier message: 29/03/2010, 18h01
  4. Accéder aux objets de la form1 depuis une class
    Par Jimmy_S dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/03/2007, 23h47
  5. Réponses: 1
    Dernier message: 07/07/2006, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo