NetNamedPipeBinding

NamedPipe のサンプルでは、同一コンピューターでのプロセス間通信を提供する netNamedPipeBinding バインディングを示します。 名前付きパイプは、異なるコンピューター間では動作しません。 このサンプルは、「入門サンプル」の電卓サービスに基づいています。

このサンプルでは、サービスは自己ホスト型です。 クライアントとサービスは両方ともコンソール アプリケーションです。

Note

このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

バインディングは、クライアントとサービスの構成ファイルに指定されます。 バインディングの種類は、<endpoint> または <client> の <endpoint> 要素の binding 属性で指定します。次のサンプル構成を参照してください。

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

前のサンプルでは、netNamedPipeBinding バインディングを既定の設定で使用するようエンドポイントを構成する手順を示しました。 netNamedPipeBinding バインディングを構成してその設定の一部を変更する場合は、バインド構成を定義する必要があります。 エンドポイントは、バインディング構成を bindingConfiguration 属性を使用して名前で参照します。

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

このサンプルでは、バインド構成の名前は Binding1 です。これは次のように定義されます。

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

このサンプルを実行すると、操作要求および応答がクライアントのコンソール ウィンドウに表示されます。 クライアントをシャットダウンするには、クライアント ウィンドウで Enter キーを押します。

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.

サンプルをセットアップ、ビルド、および実行するには

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。

  2. ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「 Building the Windows Communication Foundation Samples」の手順に従います。

  3. 単一コンピューター構成でサンプルを実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。