J'essaie de comprendre les composants internes de la fondation de workflow Windows. Nous avons donc des composants logiciels et nous les entrelacerons sous la forme d'un workflow, qu'il s'agisse d'un workflow séquentiel basé sur une condition ou d'un workflow de machine d'état. Maintenant, je pense (je peux me tromper ici) qui ne s'applique pas à IoC + Dependency Injection (via Unity ou Spring.net). Quand utiliser quoi ?? Est-ce que je pense même juste?Windows Workflow Foundation ou conteneur IoC + injection de dépendances?
Répondre
Pas tout à fait sûr que je comprends la question mais je vais essayer quand même.
WF n'utilise pas de conteneur IOC. Il utilise le modèle ServiceLocator dans lequel vous ajoutez des dépendances à l'exécution du workflow, au localisateur de service et aux activités de flux de travail et récupérez ces services à partir du runtime du workflow. Un modèle ServiceLocator et IOC sont similaires et ont le même but dans les dépendances de découplage. L'apporach est différent mais dans un conteneur IOC poussant des dépendances alors qu'un ServiceLocator est utilisé pour retirer des dépendances.
Espérons que cela répond à votre question et sinon j'essaierais de reformuler la question originale.
J'étais également aux prises avec l'utilisation des composants fournis et entretenus par mon conteneur IOC à partir des flux de production. Comme l'indique l'autre réponse, les instances de workflow veulent utiliser service-locator pour extraire les services du moteur d'exécution au lieu d'injecter les dépendances.
Un moyen facile de combler l'écart consiste à retirer les dépendances de votre conteneur IOC au moment de la configuration de l'exécution WF, puis à utiliser AddService pour les placer dans le moteur d'exécution. Vos flux de travail peuvent remplacer OnActivityExecutionContextLoad et utiliser la méthode GetService sur le fournisseur de service pour les extraire de l'environnement d'exécution et les replier dans les propriétés publiques [NonSerialized] sur le workflow. Vous avez ensuite accès aux services à partir des activités de code, etc.
Vous pouvez également configurer un service d'exécution qui injecte des dépendances lorsque les instances de flux de travail sont activées.
- 1. Injection de dépendances Conteneur par requête
- 2. Windows Workflow Foundation NullReferenceException
- 3. Où Windows Workflow Foundation est-il utilisé?
- 4. Haut débit et Windows Workflow Foundation
- 5. Injection de dépendances et attributs .NET
- 6. Java alternative à Windows Workflow Foundation
- 7. Propriétés attachées dans Windows Workflow Foundation 4.0?
- 8. Service Windows par rapport à Windows Workflow Foundation?
- 9. .net Workflow Foundation Editor
- 10. Explication du schéma de persistance de Windows Workflow Foundation?
- 11. Injection de dépendances en PHP
- 12. UnityContainer, injection de conteneur enfant
- 13. Quelles sont les meilleures ressources pour Windows Workflow Foundation (WF)?
- 14. Terminate et suspendre l'activité dans Windows Workflow Foundation
- 15. Quelques questions sur Workflow Foundation
- 16. Injection de dépendances dans une application à plusieurs niveaux?
- 17. MVP - Injection de dépendances et le modèle
- 18. Workflow Foundation Threading et WCF OperationContext
- 19. Instanciation de service WCF via un conteneur IoC
- 20. Quand le conteneur IOC est-il prêt?
- 21. Injection de cohérence: injection d'objets partiellement initialisés
- 22. Comment pouvez-vous tester vos contrôleurs sans conteneur IoC?
- 23. Workflow Sharepoint vs workflow Windows
- 24. Usines ou Injection de dépendances pour l'instanciation d'objet dans WCF lors du codage sur une interface?
- 25. Windows Workflow Foundation Statemachines est-il adapté aux scénarios de haute performance?
- 26. Impact des performances de l'utilisation de Workflow Foundation
- 27. par injection de dépendance dans une bibliothèque
- 28. Conteneur IOC .NET qui permet de supprimer des enregistrements
- 29. Hébergement de Windows Workflow Designer
- 30. Pourquoi exactement MEF n'est-il pas un conteneur DI/IoC?
Y at-il un problème avec ma question ?? Son été 2 heures sans aucune réponse, il est si différent de StackOverflow – Perpetualcoder
Personnellement, je ne comprends pas la question. "..que ce n'est pas la même chose à appliquer ..." qu'est-ce que c'est "pareil" ici? Qu'ils peuvent être séquentielle ou sate machine? (Dans ce cas, la réponse est non, je pense.) Je suggère de reformuler la question. –