3

名前付きパイプを使用して、2つのプロセス間で大きなファイル(〜8ギガ)を転送するWCFサービスを構築しています。

ストリーミングモードで小さなファイルを転送するというコンセプトがあります。より大きなファイルの場合は、maxReceivedMessageSizeを増やす必要があります。ホストapp.configでbindingConfigurationを問題なく指定できます。

この問題は、クライアントapp.configのクライアントエンドポイントでbindingConfigurationを指定すると発生します。

bindingConfiguration="MyNamedPipeBinding"

私が得るエラーメッセージ:

使用されている.Netフレーミングモードは、「net.pipe:// localhost/MyService」ではサポートされていません。詳細については、サーバーログを参照してください。

フレーミングモードシングルトンはサポートされていません。

ホスト構成:

<services>
  <service name="MyService">
    <endpoint
      address="net.pipe://localhost/MyService"
      binding="netNamedPipeBinding"
      bindingConfiguration="MyNamedPipeBinding"
      contract="MyApp.MyService"
      name="MyServiceEndpoint"/>
  </service>
</services>
<bindings>
  <netNamedPipeBinding>
    <binding name="MyNamedPipeBinding" 
             transferMode="StreamedResponse" 
             maxBufferSize="32768" 
             maxReceivedMessageSize="21474836480">
      <security mode="None" />
    </binding>
  </netNamedPipeBinding>
</bindings>

クライアント構成:

<client>
  <endpoint
    address="net.pipe://localhost/MyService"
    binding="netNamedPipeBinding"
    bindingConfiguration="MyNamedPipeBinding"
    contract="MyApp.MyService"
    name="MyServiceEndpoint">
  </endpoint>
</client>
<bindings>
  <netNamedPipeBinding>
    <binding name="MyNamedPipeBinding" 
             transferMode="StreamedResponse" 
             maxBufferSize="32768" 
             maxReceivedMessageSize="21474836480">
      <security mode="None"  />
    </binding>
  </netNamedPipeBinding>
</bindings>
4

0 に答える 0