Zuverlässige WS-SitzungWS Reliable Session

Dieses Beispiel veranschaulicht die Verwendung von zuverlässigen Sitzungen.This sample demonstrates the use of reliable sessions. Zuverlässige Sitzungen bieten Unterstützung für zuverlässiges Messaging.Reliable sessions provide support for reliable messaging and sessions. Beim zuverlässigen Messaging wird die Kommunikation bei Fehlern erneut gestartet, und es werden Zustellungszusicherungen vorgenommen, wie Prüfung der Nachrichtenreihenfolge beim Eingang.Reliable messaging retries communication on failure and allows delivery assurances to be specified, such as in-order arrival of messages. Die Sitzungen erhalten den Status von Clients im Verlauf der verschiedenen Aufrufe aufrecht.Sessions maintain state for clients between calls. Im Beispiel werden Sitzungen zum Aufrechterhalten des Clientstatus implementiert und eine Zustellungszusicherungen anhand der Nachrichtenreihenfolge festgelegt.The sample implements sessions for maintaining client state and specifies in-order delivery assurances.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your machine. 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\WS\wsReliableSession

Dieses Beispiel basiert auf der Einstieg , implementiert einen rechnerdienst.This sample is based on the Getting Started that implements a calculator service. Die Funktionen für zuverlässige Sitzungen sind in den Anwendungskonfigurationsdateien für Client und Dienst aktiviert und konfiguriert.The reliable session features are enabled and configured in the application configuration files for the client and service.

In diesem Beispiel wird der Dienst in Internetinformationsdiensten (IIS) gehostet, und der Client ist eine Konsolenanwendung (.exe).In this sample, the service is hosted in Internet Information Services (IIS) and the client is a console application (.exe).

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.The setup procedure and build instructions for this sample are located at the end of this topic.

Im Beispiel wird wsHttpBinding verwendet.The sample uses the wsHttpBinding. Die Bindung wird in den Konfigurationsdateien sowohl für den Client als auch für den Dienst angegeben.The binding is specified in the configuration files for both the client and service. Der Bindungstyp wird im binding-Attribut des Endpunktelements angegeben (siehe folgende Beispielkonfiguration).The binding type is specified in the endpoint element’s binding attribute as shown in the following sample configuration.

<endpoint address=""  
          binding="wsHttpBinding"  
          bindingConfiguration="Binding1"   
          contract="Microsoft.ServiceModel.Samples.ICalculator" />  

Der Endpunkt enthält ein bindingConfiguration-Attribut, das auf die Bindungskonfiguration namens "Binding1" verweist.The endpoint contains a bindingConfiguration attribute that references a binding configuration named "Binding1." Die Bindungskonfiguration ermöglicht die zuverlässige Sitzungen durch Festlegen der enabled Attribut von der <ReliableSession > zu true.The binding configuration enables reliable sessions by setting the enabled attribute of the <reliableSession> to true. Zustellungszusicherungen für geordnete Sitzungen werden gesteuert, indem das geordnete Attribut auf true oder false festgelegt wird.Delivery assurances for ordered sessions are controlled by setting the ordered attribute to true or false. Die Standardeinstellung ist true.The default is true.

<bindings>  
    <wsHttpBinding>  
        <binding name="Binding1">  
            <reliableSession enabled="true" />  
        </binding>  
    </wsHttpBinding>  
</bindings>  

Die Dienstimplementierungsklasse implementiert eine PerSession-Instanziierung, um eine separate Klasseninstanz für jeden Client beizubehalten, wie im folgenden Beispielcode dargestellt.The service implementation class implements PerSession instancing to maintain a separate class instance for each client, as shown in the following sample code.

[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator  
{  
    ...  
}  

Wenn Sie das Beispiel ausführen, werden die Anforderungen und Antworten für den Vorgang im Clientkonsolenfenster angezeigt.When you run the sample, the operation requests and responses are displayed in the client console window. Drücken Sie im Clientfenster die EINGABETASTE, um den Client zu schließen.Press ENTER in the client window to shut down the client.

Add(100,15.99) = 115.99  
Subtract(145,76.54) = 68.46  
Multiply(9,81.25) = 731.25  
Divide(22,7) = 3.14285714285714  

Press <ENTER> to terminate client.  

So können Sie das Beispiel einrichten, erstellen und ausführenTo set up, build, and run the sample

  1. Installieren Sie ASP.NETASP.NET 4.0 mithilfe des folgenden Befehls.Install ASP.NETASP.NET 4.0 using the following command.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable  
    
  2. Stellen Sie sicher, dass Sie ausgeführt haben die Setupprozedur für die Windows Communication Foundation-Beispiele zum einmaligen.Ensure that you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  3. Um die C#- oder Visual Basic .NET-Edition der Projektmappe zu erstellen, befolgen Sie die unter Building the Windows Communication Foundation Samplesaufgeführten Anweisungen.To build the C# or Visual Basic .NET edition of the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  4. Um das Beispiel in einer einzelnen oder computerübergreifenden Konfiguration ausführen möchten, folgen Sie den Anweisungen Ausführen der Windows Communication Foundation-Beispiele.To run the sample in a single- or cross-machine configuration, follow the instructions in Running the Windows Communication Foundation Samples.

Siehe auchSee Also