名前付きパイプを使用して、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>