次の方法で共有


NetNamedPipeBinding

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

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

ms752247.note(ja-jp,VS.100).gif注 :
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

バインディングは、クライアントとサービスの構成ファイルに指定されます。バインディングの種類は、<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 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。

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

ms752247.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<InstallDrive>:\WF_WCF_Samples

このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Binding\Net\NamedPipe