Compartilhar via


NetNamedPipeBinding

O exemplo de NamedPipe demonstra a netNamedPipeBinding associação, que fornece comunicação entre processos no mesmo computador. Pipes nomeados não funcionam entre computadores. Este exemplo é baseado no serviço de calculadora de Getting Started.

Neste exemplo, o serviço é autogerenciado. O cliente e o serviço são aplicativos de 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.

A associação é especificada nos arquivos de configuração para o cliente e o serviço. O tipo de associação é especificado no atributo binding do <endpoint> ou <endpoint> do elemento <client>, conforme o exemplo de configuração a seguir.

<endpoint address="net.pipe://localhost/ServiceModelSamples/service"
          binding="netNamedPipeBinding"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

O exemplo anterior mostra como configurar um ponto de extremidade para usar a ligação netNamedPipeBinding com as configurações padrão. Se você quiser definir a netNamedPipeBinding associação e alterar algumas de suas configurações, deverá definir uma configuração de associação. O ponto de extremidade precisa fazer referência à configuração de associação por nome com um atributo bindingConfiguration.

<endpoint address="net.pipe://localhost/ServiceModelSamples/service"
          binding="netNamedPipeBinding"
          bindingConfiguration="Binding1"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

Neste exemplo, a configuração de associação é nomeada Binding1 e tem a seguinte definição:

<bindings>
  <!--
        Following is the expanded configuration section for a NetNamedPipeBinding.
        Each property is configured with the default value.
     -->
  <netNamedPipeBinding>
    <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"
             maxBufferPoolSize="524288"
             maxBufferSize="65536"
             maxConnections="10"
             maxReceivedMessageSize="65536">
      <security mode="Transport">
        <transport protectionLevel="EncryptAndSign" />
      </security>
    </binding>
  </netNamedPipeBinding>
</bindings>

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

  1. Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.

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

  3. Para executar o exemplo em uma única configuração de computador, siga as instruções em Executar os Exemplos do Windows Communication Foundation.