2011-08-10 3 views
1

J'ai une activité Switch qui a une expression deAccédez à une des variables de flux de travail à partir d'une méthode

escalateEngine.CheckRules() 

escalateEngine est une instance d'une classe qui est passée au flux de travail comme argument et CheckRules() est un méthode conçue pour fonctionner si un problème que le flux de travail a rencontré doit être réessayé ou annulé (généralement l'erreur est "serveur ftp non disponible").

La méthode CheckRules() renvoie un entier utilisé par l'activité du commutateur pour rediriger l'exécution du flux de travail.

Ce que je ne vois pas comment faire est comment je peux obtenir CheckRules() pour changer la valeur d'une variable dans le flux de travail. Ce n'est pas une activité donc n'a pas accès à CodeActivityContext. Au moins, je ne le pense pas.

Quelqu'un peut-il offrir des conseils?

Je me rends compte que je pouvais utiliser InvokeMethod pour sortir la valeur et puis exécutez cette valeur dans le commutateur mais j'espérais quelque chose plus propre

+0

Cela casserait sérieusement l'encapsulation. –

Répondre

1

Vous avez raison dans ce que vous ne pouvez pas modifier les variables de flux de travail en dehors de la workflow.

+0

Eh bien c'est ennuyeux :-) – Richard210363

+0

Eh bien, comme l'a déjà souligné John Saunders, cela freinerait l'encapsulation de manière très sérieuse. – Maurice

Questions connexes