我正在构建一个WCF服务,通过使用命名管道在两个进程之间传输大文件(~8 Gig)。
我已经将这个概念用于在流模式下传输小文件。虽然对于较大的文件,我必须增加maxReceivedMessageSize。我可以在主机app.config中指定bindingConfiguration,没有任何问题。
当我在客户端app.config中指定客户端端点中的bindingConfiguration时,会出现问题。
bindingConfiguration="MyNamedPipeBinding"
我收到错误消息:
不支持使用的.Net帧模式 'net.pipe://本地主机/为MyService'。请参阅服务器日志以获取更多信 的信息。
不支持成帧模式Singleton。
主机配置:
<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>