Frage

Ich versuche, die Interna der Windows Workflow Foundation, um herauszufinden. So haben wir einige Softwarekomponenten und wir verflechten sie in Form eines Workflow es eine Bedingung basiert sequenziellen Workflow oder eine Zustandsmaschine Workflow sein. Nun, ich denke (ich kann hier falsch sein), die gleich zu IoC + Dependency Injection anwenden tut (über Unity oder Spring.net). Wenn zu verwenden, was ?? Bin ich sogar richtig denken ??

War es hilfreich?

Lösung

Nicht ganz sicher, ich verstehe die Frage, aber ich werde es trotzdem versuchen.

WF kein IOC-Container verwenden. Es verwendet die Servicelocator Muster, in dem Sie Abhängigkeiten in der Workflow-Laufzeit hinzufügen, der Service Locator, und Workflow-Aktivitäten und abrufen, diese Dienste aus der Workflow-Laufzeit.

Ein Servicelocator und IOC-Muster sind ähnlich und hat den gleichen Zweck Abhängigkeiten zu entkoppeln. Die apporach unterscheidet sich jedoch in einem Behälter IOC drängen Abhängigkeiten in während ein Servicelocator verwendet wird, Abhängigkeiten zu ziehen.

Hope Ihre Frage damit beantwortet, und wenn ich nicht versuchen würde, und die ursprüngliche Frage anders formulieren.

Andere Tipps

Ich ringe mit, wie die Komponenten von meinen IOC-Containern von Workflows zur Verfügung gestellt und gewartet verwenden, auch. Da die andere Antwort Staaten wollen Workflow-Instanzen Service-Locator verwenden, um Dienste von der Laufzeit zu ziehen, anstatt die Abhängigkeiten injiziert zu haben.

Ein einfacher Weg, um die Lücke zu überbrücken, ist es, die Abhängigkeiten aus Ihren IOC-Containern an der Zeit nehmen Sie die WF-Laufzeit einrichten, und dann AddService verwenden sie in die Laufzeit zu setzen. Ihre Workflows können außer Kraft setzen OnActivityExecutionContextLoad, und verwenden Sie die GetService Methode auf dem Service-Provider sie aus der Laufzeit zu fischen zurück und plumpsen sie in [NonSerialized] public Eigenschaften auf den Workflow. Sie haben dann Zugriff auf die Dienste von Codeaktivitäten etc.

Sie können auch einen Laufzeit-Service rig der Lage sein, die Abhängigkeiten injiziert, wenn die Workflow-Instanzen activiated werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top