J'ai un workflow .net 4.0, que j'héberge moi-même (juste avec WorkflowInstance.Run) et quand je réhydrate le workflow je voudrais initialiser certains de ses arguments internes pour que les activités suivantes puissent utiliser ces valeurs ... Comment pourrais-je faire cela?Est-il possible d'injecter des valeurs dans les arguments de flux de travail?
Répondre
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.
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.
- 1. flux de travail sharepoint
- 2. Tester l'historique des flux de travail Autocleanup
- 3. Comment héberger plusieurs flux de travail séquentiels WCF dans la bibliothèque de flux de travail WCF
- 4. Meilleur flux de travail PHP
- 5. Comment faire pour sortir les paramètres de travail dans les flux de travail SharePoint
- 6. Création de rapports sur les flux de travail dans SharePoint
- 7. persistance Flux de travail - WebServiceInputActivity
- 8. Arrêter le flux de travail de déchargement
- 9. Flux de travail séquentiel Question
- 10. Accélérez flux de travail avec Automator
- 11. Problème de flux de travail SharePoint OOTB
- 12. Obtention d'une liste des flux de travail en cours d'exécution?
- 13. Flux de travail d'un formulaire InfoPath
- 14. Flux de travail recommandé par Git
- 15. Flux de travail 4.0 Argument erreurs
- 16. OCaml: valeurs par défaut pour les arguments de fonction?
- 17. persistance Workflow pour plusieurs flux de travail
- 18. Windows Workflow: flux de travail «singleton»?
- 19. application web au flux de travail
- 20. Crm flux de travail personnalisé variable dynamique
- 21. Flux de travail de développement du module Flex
- 22. Flux de travail des fonctions du thème Drupal dans le module
- 23. Est-il possible de traiter les arguments de la macro comme des expressions régulières?
- 24. 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é?
- 25. Problème de clustering de flux de travail hébergé .NET
- 26. Dois-je utiliser des formulaires InfoPath pour chaque tâche dans un flux de travail SharePoint?
- 27. solution de flux de travail basée sur le Web
- 28. Est-il possible d'éviter les fichiers temporaires lorsqu'une méthode Java attend des arguments Reader/Writer?
- 29. (WF) modèles de conception de flux de travail .net 3.0
- 30. Omettre des arguments dans les modèles C++
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