Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo wsHttp demonstra como implementar um serviço típico e um cliente típico usando o WCF (Windows Communication Foundation). Este exemplo consiste em um programa de console do cliente (client.exe) e uma biblioteca de serviços hospedada 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 ICalculator
interface, 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 build para este exemplo estão localizados no final deste tópico.
Este exemplo expõe o ICalculator
contrato usando o <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 maxReceivedMessageSize
valor 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 messageEncoding
valor permite que você configure se deseja usar a codificação de Texto ou MTOM para mensagens. O textEncoding
valor permite configurar a codificação de caracteres para mensagens. O bypassProxyOnLocal
valor permite que você configure se deseja usar um proxy HTTP para comunicação local. O transactionFlow
valor 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 ordered
valor configura se a ordenação de mensagens é preservada. O inactivityTimeout
valor configura por quanto tempo uma sessão pode ficar ociosa antes de ser falhada.
<Em relação à segurança>, o mode
valor 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 o exemplo, as solicitações e respostas da operação 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
Instale ASP.NET 4.0 usando o comando a seguir.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.
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.
Para executar o exemplo em uma configuração única ou entre máquinas, siga as instruções em Executando os exemplos do Windows Communication Foundation.