Compartilhar via


<Netnamedpipebinding>

Define uma associação segura, confiável e otimizada para comunicação entre processos no computador. Por padrão, ele gera uma pilha de comunicação de runtime com WS-ReliableMessaging para confiabilidade, segurança de transporte para segurança de transferência, pipes nomeados para entrega de mensagens e codificação de mensagens binárias.

<configuração>
   <system.serviceModel>
     <Ligações>
       <Netnamedpipebinding>

Sintaxe

<netNamedPipeBinding>
  <binding closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           maxBufferPoolSize="Integer"
           maxBufferSize="Integer"
           maxConnections="Integer"
           maxReceivedMessageSize="Integer"
           name="String"
           openTimeout="TimeSpan"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           transactionFlow="Boolean"
           transactionProtocol="OleTransactions/WS-AtomicTransactionOctober2004"
           transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse">
    <security mode="None/Transport">
      <transport protectionLevel="None/Sign/EncryptAndSign" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</netNamedPipeBinding>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai

Attributes

Attribute Description
closeTimeout Um TimeSpan valor que especifica o intervalo de tempo fornecido para que uma operação de fechamento seja concluída. Esse valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
hostNameComparisonMode Especifica o modo de comparação de nome de host HTTP usado para analisar URIs. Esse atributo é do tipo HostNameComparisonMode, que indica se o nome do host é usado para alcançar o serviço ao corresponder no URI. O valor padrão é StrongWildcard, que ignora o nome do host na correspondência.
maxBufferPoolSize Um inteiro que especifica o tamanho máximo do pool de buffers para essa associação. O padrão é 524.288 bytes (512 * 1024). Muitas partes do Windows Communication Foundation (WCF) usam buffers. Criar e destruir buffers sempre que eles são usados é caro e a coleta de lixo para buffers também é cara. Com pools de buffers, você pode pegar um buffer do pool, usá-lo e devolvê-lo ao pool assim que terminar. Portanto, a sobrecarga na criação e destruição de buffers é evitada.
maxBufferSize Um inteiro positivo que especifica o tamanho máximo, em bytes, do buffer usado para armazenar mensagens na memória. Se o buffer estiver cheio, o excesso de dados permanecerá no soquete subjacente até que o buffer tenha espaço novamente. Esse valor não pode ser menor que o maxReceivedMessageSize atributo. O padrão é 65536. Para obter mais informações, consulte MaxBufferSize.
maxConnections Um inteiro que especifica o número máximo de conexões de saída e de entrada que o serviço criará/aceitará. As conexões de entrada e saída são contadas em relação a um limite separado especificado por esse atributo.

Conexões de entrada acima do limite são enfileiradas até que um espaço abaixo do limite fique disponível.

Conexões de saída acima do limite são enfileiradas até que um espaço abaixo do limite fique disponível.

O padrão é 10.
maxReceivedMessageSize Um inteiro positivo que especifica o tamanho máximo da mensagem, em bytes, incluindo cabeçalhos, que pode ser recebido em um canal configurado com essa associação. O remetente de uma mensagem que excede esse limite receberá uma falha SOAP. O receptor descarta a mensagem e cria uma entrada do evento no log de rastreamento. O padrão é 65536.
nome Uma cadeia de caracteres que contém o nome de configuração da associação. Esse valor deve ser exclusivo porque é usado como uma identificação para a associação. A partir do .NET Framework 4, associações e comportamentos não são necessários para ter um nome. Para obter mais informações sobre configuração padrão e associações e comportamentos sem nome, consulte Configuração simplificada e configuração simplificada para serviços WCF.
openTimeout Um TimeSpan valor que especifica o intervalo de tempo fornecido para uma operação aberta ser concluída. Esse valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
receiveTimeout Um TimeSpan valor que especifica o intervalo de tempo fornecido para a conclusão de uma operação de recebimento. Esse valor deve ser maior ou igual a Zero. O padrão é 00:10:00.
sendTimeout Um TimeSpan valor que especifica o intervalo de tempo fornecido para a conclusão de uma operação de envio. Esse valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
transactionFlow Um valor booliano que especifica se a associação dá suporte a WS-Transactions em fluxo. O padrão é false.
transactionProtocol Especifica o protocolo de transação a ser usado com essa associação. Valores válidos são

-Oletransactions
- WS-AtomicTransactionOctober2004

O padrão é OleTransactions. Esse atributo é do tipo TransactionProtocol.
transferMode Um TransferMode valor que especifica se as mensagens são armazenadas em buffer ou transmitidas ou uma solicitação ou resposta.

Elementos filho

Elemento Description
<segurança> Define as configurações de segurança para a associação. Esse elemento é do tipo NetNamedPipeBindingElement.
<Readerquotas> Define as restrições sobre a complexidade das mensagens SOAP que podem ser processadas por pontos de extremidade configurados com essa associação. Esse elemento é do tipo XmlDictionaryReaderQuotasElement.

Elementos pai

Elemento Description
<Ligações> Esse elemento contém uma coleção de associações padrão e personalizadas.

Observações

O NetNamedPipeBinding gera uma pilha de comunicação de runtime por padrão, que usa a segurança de transporte, pipes nomeados para entrega de mensagens e uma codificação de mensagem binária. Essa associação é uma opção apropriada fornecida pelo sistema do Windows Communication Foundation (WCF) para comunicação no computador. Ele também dá suporte a transações.

A configuração padrão é NetNamedPipeBinding semelhante à configuração fornecida pelo NetTcpBinding, mas é mais simples porque a implementação do WCF destina-se apenas ao uso no computador e, consequentemente, há menos recursos expostos. A diferença mais notável é que a securityMode configuração oferece apenas opções e None opçõesTransport. O suporte à segurança SOAP não é uma opção incluída. O comportamento de segurança é configurável usando o atributo opcional securityMode .

Example

O exemplo a seguir demonstra a associação netNamedPipeBinding, que fornece comunicação entre processos no mesmo computador. Os pipes nomeados não funcionam entre computadores.

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 <endpoint> elemento. Se você quiser configurar a associação netNamedPipeBinding e alterar algumas de suas configurações, deverá definir uma configuração de associação. O ponto de extremidade deve referenciar a configuração de associação por nome com um bindingConfiguration atributo. Neste exemplo, a configuração de associação é denominada Binding1.

<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
          </baseAddresses>
        </host>
        <!-- this endpoint is exposed at the base address provided by host: net.pipe://localhost/ServiceModelSamples/service  -->
        <endpoint address="net.pipe://localhost/ServiceModelSamples/service"
                  binding="netNamedPipeBinding"
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />
        <!-- the mex endpoint is exposed at http://localhost:8000/ServiceModelSamples/service/mex -->
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>
      <netNamedPipeBinding>
        <binding 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>
    <!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True" />
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Consulte também