Udostępnij za pośrednictwem


WSHttpBinding

WsHttp przykład pokazuje, jak zaimplementować typową usługę i typowego klienta przy użyciu programu Windows Communication Foundation (WCF). Ten przykład składa się z programu konsolowego klienta (client.exe) i biblioteki usług hostowanej przez usługi Internet Information Services (IIS). Usługa implementuje kontrakt, który definiuje wzorzec komunikacji typu żądanie-odpowiedź. Kontrakt jest definiowany przez ICalculator interfejs, który uwidacznia operacje matematyczne (dodawanie, odejmowanie, mnożenie i dzielenie). Klient wysyła synchroniczne żądania do danej operacji matematycznej, a usługa odpowiada z wynikiem. Działanie klienta jest widoczne w oknie konsoli.

Uwaga

Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.

Ten przykład uwidacznia ICalculator kontrakt przy użyciu biblioteki <wsHttpBinding>. Konfiguracja tego powiązania została rozszerzona w pliku 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>

Na podstawowym binding elemecie maxReceivedMessageSize wartość umożliwia skonfigurowanie maksymalnego rozmiaru komunikatu przychodzącego (w bajtach). Wartość hostNameComparisonMode umożliwia skonfigurowanie, czy nazwa hosta jest brana pod uwagę podczas de multipleksowania komunikatów do usługi. Wartość messageEncoding umożliwia skonfigurowanie, czy używać kodowania Text lub MTOM dla komunikatów. Wartość textEncoding umożliwia skonfigurowanie kodowania znaków dla komunikatów. Wartość bypassProxyOnLocal umożliwia skonfigurowanie, czy używać serwera proxy HTTP do komunikacji lokalnej. Wartość transactionFlow określa, czy bieżąca transakcja jest przepływany (jeśli operacja jest skonfigurowana do przepływu transakcji).

W elemecie <reliableSession> włączona wartość logiczna określa, czy włączono niezawodne sesje. Wartość ordered określa, czy kolejność komunikatów jest zachowywana. Wartość inactivityTimeout określa, jak długo sesja może być bezczynna przed błędem.

W zabezpieczeniach <>wartość konfiguruje tryb zabezpieczeń, mode który ma być używany. W tym przykładzie używane są zabezpieczenia komunikatów, dlatego <komunikat> jest określony wewnątrz zabezpieczeń<>.

Po uruchomieniu przykładu żądania operacji i odpowiedzi są wyświetlane w oknie konsoli klienta. Naciśnij klawisz ENTER w oknie klienta, aby zamknąć klienta.

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.

Aby skonfigurować, skompilować i uruchomić przykład

  1. Zainstaluj ASP.NET 4.0 przy użyciu następującego polecenia.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Upewnij się, że wykonano procedurę instalacji jednorazowej dla przykładów programu Windows Communication Foundation.

  3. Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).

  4. Aby uruchomić przykład w konfiguracji pojedynczej lub między maszynami, postępuj zgodnie z instrukcjami w temacie Uruchamianie przykładów programu Windows Communication Foundation.