NetTcpBinding padrão
O exemplo Default demonstra o uso da NetTcpBinding ligação. Este exemplo é baseado na Introdução que implementa um serviço de calculadora. Neste exemplo, o serviço é auto-hospedado. Tanto o cliente quanto o serviço são aplicativos de console.
Nota
O procedimento de configuração e as instruções de compilação para este exemplo estão localizados no final deste tópico.
A associação é especificada nos arquivos de configuração para o cliente e o serviço. O tipo de associação é especificado no binding
atributo do elemento de ponto de extremidade>, <conforme mostrado na configuração de exemplo a seguir.
<endpoint address=""
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
O exemplo anterior mostra como configurar um ponto de extremidade para usar a netTcpBinding
associação com as configurações padrão. Se você quiser configurar a netTcpBinding
associação e alterar algumas de suas configurações, é necessário definir uma configuração de vinculação. O ponto de extremidade deve fazer referência à configuração de associação por nome com um bindingConfiguration
atributo. Neste exemplo, a configuração de associação é nomeada Binding1
e definida conforme mostrado na configuração de exemplo a seguir.
<services>
<service name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
...
<endpoint address=""
binding="netTcpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
...
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="Binding1"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false"
transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard"
listenBacklog="10"
maxBufferPoolSize="524288"
maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>
Quando você executa o exemplo, 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
Instale o ASP.NET 4.0 usando o seguinte comando.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Certifique-se de ter executado o procedimento de instalação única para os exemplos do Windows Communication Foundation.
Para criar a edição C# ou Visual Basic .NET da solução, siga as instruções em Criando os exemplos do Windows Communication Foundation.
Para executar o exemplo em uma configuração de máquina única ou cruzada, siga as instruções em Executando os exemplos do Windows Communication Foundation.
Nota
Como o servidor é auto-hospedado, você deve especificar uma identidade no arquivo App.config do cliente para executar o exemplo em uma configuração entre máquinas.
<client> <endpoint name="" address="net.tcp://servername:9000/servicemodelsamples/service" binding="netTcpBinding" contract="Microsoft.ServiceModel.Samples.ICalculator"> <identity> <userPrincipalName value = "user_name@service_domain"/> </identity> </endpoint> </client>