WSHttpBindingWSHttpBinding

Dieses Beispiel veranschaulicht ein typischer Dienst und ein typischer Client mithilfe der Windows Communication Foundation (WCF) zu implementieren.This sample demonstrates how to implement a typical service and a typical client using Windows Communication Foundation (WCF). Das Beispiel besteht aus einem Clientkonsolenprogramm (client.exe) und einer von IIS (Internet Information Services, Internetinformationsdienste) gehosteten Dienstbibliothek.This sample consists of a client console program (client.exe) and a service library hosted by Internet Information Services (IIS). Der Dienst implementiert einen Vertrag, der ein Anforderungs-Antwort-Kommunikationsmuster definiert.The service implements a contract that defines a request-reply communication pattern. Der Vertrag wird von der ICalculator-Schnittstelle definiert, die mathematische Operationen (Addieren, Subtrahieren, Multiplizieren und Dividieren) verfügbar macht.The contract is defined by the ICalculator interface, which exposes math operations (add, subtract, multiply, and divide). Der Client stellt synchrone Anforderungen an eine gegebene mathematische Operation, und der Dienst antwortet mit dem Ergebnis.The client makes synchronous requests to a given math operation and the service replies with the result. Die Clientaktivität ist im Konsolenfenster sichtbar.Client activity is visible in the console window.

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\wsHttp

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.

In diesem Beispiel macht die ICalculator -Vertrags mithilfe der <WsHttpBinding >.This sample exposes the ICalculator contract using the <wsHttpBinding>. Die Konfiguration dieser Bindung wurde in der Datei „Web.config“ erweitert.The configuration of this binding has been expanded in the Web.config file.

<bindings>  
  <wsHttpBinding>  
    <!--The following is the expanded configuration section for a-->  
    <!--WSHttpBinding. Each property is configured with the default-->   
    <!--value. See the ReliableSession, TransactionFlow, -->  
    <!--TransportSecurity, and MessageSecurity samples in the WS -->  
    <!--directory to learn how to configure these features. -->  
    <binding name="Binding1"  
              bypassProxyOnLocal="false"   
              transactionFlow="false"   
              hostNameComparisonMode="StrongWildcard"  
              maxBufferPoolSize="524288"   
              maxReceivedMessageSize="65536"  
              messageEncoding="Text"   
              textEncoding="utf-8"   
              useDefaultWebProxy="true"  
              allowCookies="false">  
      <reliableSession ordered="true"   
                       inactivityTimeout="00:10:00"  
                       enabled="false" />  
      <security mode="Message">  
        <message clientCredentialType="Windows"   
                 negotiateServiceCredential="true"  
                 algorithmSuite="Default"   
                 establishSecurityContext="true" />  
      </security>  
    </binding>  
  </wsHttpBinding>  
</bindings>  

Im binding-Basiselement können Sie mit dem maxReceivedMessageSize-Wert die maximale Größe einer eingehenden Nachricht (in Bytes) konfigurieren.On the base binding element, the maxReceivedMessageSize value lets you configure the maximum size of an incoming message (in bytes). Mit dem hostNameComparisonMode-Wert können Sie konfigurieren, ob beim Demultiplexing von Nachrichten für den Dienst der Hostname eine Rolle spielt.The hostNameComparisonMode value lets you configure whether the hostname is considered when de-multiplexing messages to the service. Mit dem messageEncoding-Wert können Sie konfigurieren, ob Text- oder MTOM-Codierung für Nachrichten verwendet werden soll.The messageEncoding value lets you configure whether to use Text or MTOM encoding for messages. Mit dem textEncoding-Wert können Sie die Zeichencodierung für Nachrichten konfigurieren.The textEncoding value lets you configure the character encoding for messages. Mit dem bypassProxyOnLocal-Wert können Sie konfigurieren, ob ein HTTP-Proxy zur lokalen Kommunikation verwendet werden soll.The bypassProxyOnLocal value lets you configure whether to use an HTTP proxy for local communication. Der transactionFlow-Wert konfiguriert, ob die aktuelle Transaktion übergeben wird (wenn ein Vorgang für den Transaktionsfluss konfiguriert ist).The transactionFlow value configures whether the current transaction is flowed (if an operation is configured for transaction flow).

Auf der <ReliableSession > Element, der aktivierte boolesche Wert konfiguriert, ob zuverlässige Sitzungen aktiviert werden.On the <reliableSession> element, the enabled Boolean value configures whether reliable sessions are enabled. Der ordered-Wert konfiguriert, ob die Nachrichtenreihenfolge beibehalten wird.The ordered value configures whether message ordering is preserved. Der inactivityTimeout-Wert konfiguriert, wie lange sich eine Sitzung im Leerlauf befinden darf, bevor sie einen Fehler verursacht.The inactivityTimeout value configures how long a session can be idle before being faulted.

Auf der <Sicherheit >die mode -Wert konfiguriert, welcher Sicherheitsmodus verwendet werden soll.On the <security>, the mode value configures which security mode should be used. In diesem Beispiel nachrichtensicherheit verwendet wird, daher die <Nachricht > wird angegeben, in der <Sicherheit >.In this sample, messages security is being used, which is why the <message> is specified inside the <security>.

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