Freigeben über


Workflowdienstdienstprogramme

Dieses Projekt enthält alle Dienstprogramme, die von den anderen Beispielen in diesem Abschnitt zum Bearbeiten des Kontexts und Erstellen der Listenerinfrastruktur für lokale Dienste verwendet werden. Dieses Projekt ist kein Beispiel, sondern wird von den Beispielen zum Beispiel zu Duplexworkflowdienst und Beispiel für Rechnerclient als Dienstprogrammprojekt verwendet.

Tipp

Zum Erstellen und Ausführen dieses Beispiels muss .NET Framework, Version 3.5 installiert sein. Zum Öffnen des Projekts und der Projektmappendateien ist Visual Studio 2008 erforderlich.

Dieses Projekt stellt die folgenden beiden Hilfsklassen bereit: LocalWorkflowServiceHost und ContextManager.

LocalWorkflowServiceHost

Die LocalWorkflowServiceHost-Hilfsklasse ermöglicht einer lokalen Hostanwendung, mit einer einzelnen WorkflowService-Instanz zu interagieren. Die gesamte Interaktion wird mittels Messaging über Dienstverträge durchgeführt. Der ServiceHost-Typ erstellt sowohl einen ServiceHost für eine vom Localhost bereitgestellte Singletondienstimplementierung und einen WorkflowServiceHost für die Workflowdienstimplementierung. Er erstellt automatisch lokale Listenerendpunkte, damit der lokale Dienst und Workflowdienst kommunizieren können. Der Workflow kann mit den Localhostendpunkten mittels eines Endpunkts namens HostEndpoint kommunizieren. Der lokale Host kann CreateLocalChannel<T> verwenden, um Kanäle zum Workflowdienst zu erstellen. Diese Klasse verwaltet auch den Kontext für eine einzelne Workflowinstanz, so dass die Anwendung heruntergefahren und neu gestartet werden kann, wobei die vorherige Workflowinstanz wiederhergestellt wird. Dies setzt voraus, dass die Workflowinstanz permanent gespeichert wird.

ContextManager

Die ContextManager-Klasse stellt alle Hilfsfunktionen bereit, die zum Bearbeiten des Kontexts erforderlich sind. Sie enthält Funktionen zum Extrahieren des Kontexts aus dem Kanal, zum Anwenden des Kontexts auf einen Kanal und zum Anwenden einer Endpunktadresse auf die Sendeaktivität.

Wenn Sie diese Hilfsklassen nutzen möchten, können Sie dieses Beispiel in Ihren eigenen Projektmappen verwenden.

Senden Sie Kommentare zu diesem Thema an Microsoft.