ReceiveContext-aktivierte WCF-KanäleReceiveContext-Enabled WCF Channels

In diesem Beispiel wird die Nützlichkeit WCF-Kanälen mit Aktivierung von ReceiveContext erläutert.This sample demonstrates the usefulness of ReceiveContext-enabled WCF channels. Im Beispiel wird ein Dienst für die Suche nach dem Produkt von zwei Zahlen mithilfe eines NetMSMQ-Kanals implementiert.The sample implements a service to find the product of two numbers using a NetMSMQ channel.

Mit der ReceiveContext-Klasse kann eine Anwendung entscheiden, ob auf die Meldung zugegriffen werden oder sie für die weitere Verarbeitung in der Warteschlange belassen werden soll, selbst nachdem der Inhalt der Meldung überprüft wurde.The ReceiveContext class enables an application to decide whether to access the message or leave it in the queue for further processing, even after the contents of the message have been inspected. In diesem Beispiel sendet ein Client zufällige ganze Zahlen an eine Transaktionswarteschlange.In this sample, a client sends random integers to a transactional queue. Der ProductCalculator-Dienst empfängt die Meldungen und überprüft den Meldungsinhalt, der aus ganzen Zahlen besteht, um zu bestimmen, ob das Produkt berechnet werden kann.The ProductCalculator service receives the messages and inspects the message contents, which are integers, to determine whether the product can be computed. Wenn der Dienstvorgang das Produkt nicht berechnet, wird die Meldung zurück an die Warteschlange gesendet und kann erneut vom Dienst empfangen werden, der die Warteschlange überwacht.If the service operation does not compute the product, the message is put back into the queue and can be received again by the service listening on the queue.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your computer. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren:Check for the following (default) directory before continuing:

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis:This sample is located in the following directory:

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Binding\Net\MSMQ\ReceiveContextProductGenerator

So verwenden Sie dieses BeispielTo use this sample

  1. Stellen Sie sicher, dass Microsoft Message Queuing (MSMQ) installiert ist.Ensure that Microsoft Message Queuing (MSMQ) is installed.

    1. So installieren Sie MSMQ unter Windows Server 2008Windows Server 2008To install MSMQ on Windows Server 2008Windows Server 2008:

      1. In Server-Manager, klicken Sie auf Funktionen.In Server Manager, click Features.

      2. Im rechten Bereich unter Featureübersicht, klicken Sie auf Features hinzufügen.In the right pane under Features Summary, click Add Features.

      3. Erweitern Sie im jetzt geöffneten Fenster Message Queuing.In the resulting window, expand Message Queuing.

      4. Erweitern Sie Message Queuing-Dienste.Expand Message Queuing Services.

      5. Klicken Sie auf Verzeichnisdienstintegration (für Computer Mitglied einer Domäne), und klicken Sie dann auf HTTP-Unterstützung.Click Directory Services Integration (for computers joined to a domain), and then click HTTP Support.

      6. Klicken Sie auf Weiter, und klicken Sie dann auf installieren.Click Next, and then click Install.

    2. So installieren Sie MSMQ unter Windows VistaWindows VistaTo install MSMQ on Windows VistaWindows Vista:

      1. Open in der Systemsteuerung.Open Control Panel.

      2. Klicken Sie auf Programme und dann unter Programme und Funktionen, klicken Sie auf Windows-Funktionen ein- oder ausschalten.Click Programs and then, under Programs and Features, click Turn Windows Features on and off.

      3. Erweitern Sie Microsoft Message Queue (MSMQ) Server, erweitern Sie Microsoft Message Queue (MSMQ)-serverkernkomponenten, und wählen Sie dann die Kontrollkästchen für die Message Queuing-Funktionen installieren:Expand Microsoft Message Queue (MSMQ) Server, expand Microsoft Message Queue (MSMQ) Server Core, and then select the check boxes for the following Message Queuing features to install:

        • Message Queuing ServerMessage Queuing Server

        • MSMQ-Active Directory-Domänendienstintegration (bei Computern, die einer Domäne zugewiesen sind)MSMQ Active Directory Domain Services Integration (for computers joined to a domain)

        • MSMQ-HTTP-UnterstützungMSMQ HTTP Support

      4. Klicken Sie auf OK.Click OK.

      5. Wenn Sie aufgefordert werden, den Computer neu starten, klicken Sie auf OK um die Installation abzuschließen.If you are prompted to restart the computer, click OK to complete the installation.

  2. Stellen Sie sicher, dass Visual Studio 2012Visual Studio 2012 auf dem Computer installiert ist.Ensure that Visual Studio 2012Visual Studio 2012 is installed on the computer.

  3. Öffnen Sie mit Visual Studio 2012Visual Studio 2012 die ReceiveContextProductGenerator.sln-Projektmappendatei.Using Visual Studio 2012Visual Studio 2012, open the ReceiveContextProductGenerator.sln solution file.

  4. Drücken Sie STRG+UMSCHALT+B, um die Projektmappe zu erstellen.To build the solution, press CTRL+SHIFT+B.

  5. Drücken Sie STRG+F5, um die Projektmappe auszuführen.To run the solution, press CTRL+F5.