Répondre

0

Arguments d'utilisation (In/OutArgument) pour définir l'entrée ou de sortie pour le flux de travail (activités aussi) ..

ici est la syntaxe exemple ..

Dictionary <string, object> input = new Dictionary <string, object>(); 
input.Add("UserName" , userName); 
input.Add ("UserName", userName); 
WorkflowInstance myInstance = new WorkflowInstance(
new WorkflowConsoleApplication2.Sequence1(),input); 

WorkflowInstance myInstance = new WorkflowInstance (
new WorkflowConsoleApplication2.Sequence1(), input); 

dans votre carte de workflow, définir la argument d'entrée et alors vous serez en mesure d'accéder à la valeur de l'argument.

+0

Mais cela ne peut pas être utilisé quand je charge un flux de travail _existing_ peut-il? J'utiliserais: WorkflowInstance.Load (WorkflowElement, PersistenceProvider) .. Il n'y a pas de substitution qui prend un dictionnaire d'arguments. Mon exigence est que je n'ai pas tous les arguments jusqu'à ce que le flux de travail a progressé jusqu'à un certain point ... alors je peux les injecter pour les activités suivantes à utiliser ... – Adam

0

Normalement, les arguments sont à fournir à votre flux de travail avant de commencer à exécuter le flux de travail la première fois.

Par exemple, vous pourriez avoir InArgument input1, InArgument input2, OutArugment sortie, et lorsque vous créez le flux de travail que vous passez dans toutes les entrées, et une variable pour le flux de travail pour stocker toutes les sorties dans.

Une fois que le workflow est déjà en cours d'exécution, il a des arguments, il ne s'attend pas à ce qu'ils changent d'un facteur externe. (Et dans le cas où c'est un point de confusion: il ne reprendra normalement pas l'exécution au début de votre flux de travail - il va reprendre à un signet arbitraire au milieu.) Alors, comment pouvez-vous transmettre des données à votre flux de travail en cours d'exécution?

Ici, je suggère de regarder les activités de messagerie. Les données arrivent dans le flux de travail sur Value OutArgument de ReceiveMessage. Comment est-il arrivé là? Il a été défini par l'activité de réception. Mais comment l'activité de réception l'a-t-elle mise en place? Eh bien, d'abord l'hôte de service dit à l'activité de réception de reprendre parce qu'il a un message. Ensuite, l'activité de réception dit «quel message ai-je reçu? Personne n'a magiquement poussé les données dedans, au contraire, après que l'activité soit activée, il sait tirer les données d'une file quelque part.

Espérons que vous pouvez utiliser cette idée de 1) quelqu'un stocke les données requises par le flux de travail 2) les activités de l'exécution ou l'hôte de service ou quel que soit réactive le flux de travail 3) tirer dans les données dont ils ont besoin quand ils courent (après réactivation) en tant que modèle pour votre solution.

Questions connexes