Dela via


WSHttpBinding

Exemplet wsHttp visar hur du implementerar en typisk tjänst och en typisk klient med hjälp av Windows Communication Foundation (WCF). Det här exemplet består av ett klientkonsolprogram (client.exe) och ett tjänstbibliotek som hanteras av Internet Information Services (IIS). Tjänsten implementerar ett kontrakt som definierar ett kommunikationsmönster för begäran-svar. Kontraktet definieras av ICalculator gränssnittet, som exponerar matematiska åtgärder (lägg till, subtrahera, multiplicera och dividera). Klienten gör synkrona begäranden till en viss matematisk åtgärd och tjänsten svarar med resultatet. Klientaktiviteten visas i konsolfönstret.

Kommentar

Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.

Det här exemplet exponerar ICalculator kontraktet med hjälp av <wsHttpBinding>. Konfigurationen av den här bindningen har expanderats i filen Web.config.

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

I baselementet bindingmaxReceivedMessageSize kan du med värdet konfigurera den maximala storleken på ett inkommande meddelande (i byte). Med hostNameComparisonMode värdet kan du konfigurera om värdnamnet ska beaktas vid av multiplexering av meddelanden till tjänsten. Med messageEncoding värdet kan du konfigurera om du vill använda Text- eller MTOM-kodning för meddelanden. Med textEncoding värdet kan du konfigurera teckenkodningen för meddelanden. Med bypassProxyOnLocal värdet kan du konfigurera om du vill använda en HTTP-proxy för lokal kommunikation. Värdet transactionFlow konfigurerar om den aktuella transaktionen flödar (om en åtgärd har konfigurerats för transaktionsflödet).

I elementet <reliableSession> konfigurerar det aktiverade booleska värdet om tillförlitliga sessioner är aktiverade. Värdet ordered konfigurerar om meddelandeordningen bevaras. Värdet inactivityTimeout konfigurerar hur länge en session kan vara inaktiv innan den felas.

<På säkerheten>mode konfigurerar värdet vilket säkerhetsläge som ska användas. I det här exemplet används säkerhet för meddelanden, vilket är anledningen till att meddelandet <>anges i< säkerheten.>

När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. Tryck på RETUR i klientfönstret för att stänga av klienten.

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.

Så här konfigurerar du, skapar och kör exemplet

  1. Installera ASP.NET 4.0 med hjälp av följande kommando.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Kontrollera att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.

  3. Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.

  4. Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.