Condividi tramite


NetNamedPipeBinding

L'esempio NamedPipe illustra l'associazionenetNamedPipeBinding, che fornisce la comunicazione tra processi nello stesso computer. I pipe nominati non funzionano tra diversi computer. Questo esempio si basa sul servizio di calcolatore Getting Started.

In questo esempio, il servizio è ospitato autonomamente. Sia il client che il servizio sono applicazioni console.

Annotazioni

La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.

L'associazione viene specificata nei file di configurazione per il client e il servizio. Il tipo di associazione è specificato nell'attributo dell'elemento binding o <, come illustrato nella configurazione di esempio seguente:

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

L'esempio precedente illustra come configurare un endpoint per l'uso dell'associazione netNamedPipeBinding con le impostazioni predefinite. Se si vuole configurare l'associazione netNamedPipeBinding e modificarne alcune impostazioni, è necessario definire una configurazione di associazione. L'endpoint deve riferirsi alla configurazione del binding per nome utilizzando l'attributo bindingConfiguration.

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

In questo esempio la configurazione dell'associazione è denominata Binding1 e ha la definizione seguente:

<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 si esegue l'esempio, le richieste e le risposte dell'operazione vengono visualizzate nella finestra della console client. Premere INVIO nella finestra del client per chiudere il client.

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.

Per configurare, compilare ed eseguire l'esempio

  1. Assicurati di aver eseguito la procedura di installazione di One-Time per gli esempi di Windows Communication Foundation.

  2. Per compilare l'edizione C# o Visual Basic .NET della soluzione, seguire le istruzioni in Compilazione degli esempi di Windows Communication Foundation.

  3. Per eseguire l'esempio in una singola configurazione del computer, seguire le istruzioni in Esecuzione degli esempi di Windows Communication Foundation.