次の方法で共有


NetNamedPipeBinding

NamedPipe サンプルは、同じコンピューター上でクロスプロセス通信を提供するnetNamedPipeBinding バインディングを示しています。 名前付きパイプは、マシン間では機能しません。 このサンプルは、 入門 電卓サービスに基づいています。

このサンプルでは、サービスはセルフホステッドです。 クライアントとサービスの両方がコンソール アプリケーションです。

このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。

バインディングは、クライアントとサービスの構成ファイルで指定されます。 バインドの種類は、次のサンプル構成に示すように、<client> 要素の <endpoint> または <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 サンプル One-Time セットアップ手順を実行していることを確認します。

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

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