Je travaille avec un workflow de machine d'état et en utilisant le service ExternalDataExchange pour gérer les événements dans l'hôte et obtenir des données dans le flux de travail via eventargs.Comment puis-je extraire des données d'un flux de travail de machine d'état avant que le flux de travail n'entre dans son état terminé?
Cependant, maintenant j'ai besoin d'obtenir des données sur le flux de travail et j'ai des difficultés.
Les paramètres de sortie sont uniquement disponibles dans l'événement de workflow terminé, mais mon flux de travail n'est pas terminé. L'hôte déclenche un événement avec des données et attend essentiellement que le flux de travail termine le traitement de l'événement (planificateur manuel). Dans ma gestion particulière de l'événement dans le flux de travail, il effectue une validation et si cette validation échoue, il ne passe PAS à l'état suivant, mais je dois pouvoir renvoyer les résultats de la validation à l'application hôte.
Un exemple de ce que je suis en train d'accomplir ressemblerait à ceci:
OrderWorkflow
PendingOrderState
ImportOrderEvent
- If the order passes validation move to CompletedState
- Else return the validation results to the host (how?)
CompletedState
Il convient également de noter que mon hôte est en fait une application ASP.NET MVC, donc je suis en train de évitez de câbler des événements sur mon contrôleur/page directement pour gérer les services locaux à partir du workflow appelant, mais je ne suis pas totalement opposé à cela si c'est comme cela que cela doit être fait.
Cool! J'aime le fait que vous avez utilisé IDictionary comme l'une des faiblesses que je vois avec le service WF Interace du livre WF Pro, c'est que les listes de paramètres peuvent devenir assez longues si vous devez déplacer des données dans et hors. –