NetContextExchangeCorrelation
Dieses Thema gilt für Windows Workflow Foundation 4.
In diesem Beispiel wird veranschaulicht, wie die Messagingaktivitäten mit kontextbasierter Korrelation verwendet werden können, damit Korrelationshandles oder Abfragen nicht mehr explizit angegeben werden müssen.
Beispieldetails
In diesem Beispiel wird das .NET Context Exchange-Protokoll verwendet, das in .NET Framework, Version 3.5 eingeführt wurde. Im Protokoll wird das Nachrichtenaustauschmuster beschrieben, mit dem sichergestellt wird, dass eine Clientanwendung mit der richtigen Instanz des Diensts kommuniziert, indem ein bekannter Nachrichtenheader (der Kontextheader) verwendet wird. In .NET Framework, Version 4 ist dieser Mechanismus nur ein bestimmter Typ der Korrelation: eine kontextbasierte Korrelation.
Der ContextService
gibt den Nachrichtenheader der Antwortnachricht des ersten Vorgangsaufrufs zurück (OpenBankAccount
), und der Client ist dafür zuständig, dass dieser Header wieder an die nachfolgenden Aufrufe (Deposit
und Withdraw
) angefügt wird. Der ContextClient
verwendet hierzu die CorrelationScope-Aktivität. Da der ContextService
in WorkflowServiceHost gehostet wird, wird für diesen Workflow ein impliziter CorrelationScope erstellt, der eine automatische kontextbasierte Korrelation ermöglicht.
So verwenden Sie dieses Beispiel
Öffnen Sie die Projektmappe "NetContextExchangeCorrelation.sln" in Visual Studio 2010.
Drücken Sie STRG+UMSCHALT+B, um die Projektmappe zu erstellen.
Legen Sie mehrere Startprojekte fest, indem Sie mit der rechten Maustaste auf Projektmappe klicken und Startprojekte festlegen auswählen. Fügen Sie
ContextService
undContextClient
(in dieser Reihenfolge) als mehrere Startprojekte hinzu.Drücken Sie STRG+F5, um die Anwendung auszuführen. In der Konsole
ContextClient
wird angezeigt, welche Aufrufe an den Dienst erfolgt sind. In der KonsoleContextService
wird angezeigt, dass diese Aufrufe empfangen und verarbeitet wurden.
Hinweis: |
---|
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.
<Installationslaufwerk>:\WF_WCF_Samples
Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.
<Installationslaufwerk>:\WF_WCF_Samples\WF\Basic\Services\NETContentExchangeCorrelation
|