WSHttpBinding

O exemplo wsHttp demonstra como implementar um serviço típico e um cliente típico usando o WCF (Windows Communication Foundation). Esta amostra consiste em um programa de console do cliente (client.exe) e uma biblioteca de serviços hospedados pelos Serviços de Informações da Internet (IIS). O serviço implementa um contrato que define um padrão de comunicação solicitação-resposta. O contrato é definido pela interface ICalculator, que expõe operações matemáticas (adicionar, subtrair, multiplicar e dividir). O cliente faz solicitações síncronas para uma determinada operação matemática, e o serviço responde com o resultado. A atividade do cliente é visível na janela do console.

Observação

O procedimento de instalação e as instruções de compilação dessa amostra estão no final deste tópico.

Este exemplo expõe o contrato ICalculator usando <wsHttpBinding>. A configuração dessa associação foi expandida no arquivo 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>

No elemento base binding, o valor maxReceivedMessageSize permite configurar o tamanho máximo de uma mensagem de entrada (em bytes). O valor hostNameComparisonMode permite que você configure se o nome do host é considerado ao desmultiplexar mensagens para o serviço. O valor messageEncoding permite que você configure se deseja usar a codificação de Texto ou MTOM para mensagens. O valor textEncoding permite que você configure a codificação de caracteres para mensagens. O valor bypassProxyOnLocal permite que você configure se deseja usar um proxy HTTP para comunicação local. O valor transactionFlow configura se a transação atual é fluída (se uma operação está configurada para fluxo de transação).

No elemento <reliableSession>, o valor booliano habilitado configura se as sessões confiáveis estão habilitadas. O valor ordered configura se a ordenação de mensagens é preservada. O valor inactivityTimeout configura quanto tempo uma sessão pode ficar ociosa antes de ser falha.

Em <segurança>, o valor mode configura qual modo de segurança deve ser usado. Neste exemplo, a segurança das mensagens está sendo usada, razão pela qual a <mensagem> é especificada dentro da <segurança>.

Quando você executa a amostra, as solicitações de operação e as respostas são exibidas na janela do console do cliente. Pressione ENTER na janela do cliente para desligar o cliente.

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.

Para configurar, compilar, e executar o exemplo

  1. Instale o ASP.NET 4.0 usando o seguinte comando.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Verifique se você executou o Procedimento de instalação única para os exemplos do Windows Communication Foundation.

  3. Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.

  4. Para executar a amostra em uma configuração de computador único ou entre computadores, siga as instruções contidas em Como executar as amostras do Windows Communication Foundation.