Именованные каналы WCF: проблема потоковой передачи (конфигурации)
Я строю службы WCF для передачи больших файлов (~8 Гб) между двумя процессами с использованием именованных каналов.
У меня есть концепция, работающая для передачи небольших файлов в потоковом режиме. Хотя для больших файлов я должен увеличить maxReceivedMessageSize. Я могу без каких-либо проблем указать привязку конфигурации в хосте app.config.
Проблема возникает, когда я указываю bindingConfiguration в конечной точке клиента в клиентском app.config.
bindingConfiguration="MyNamedPipeBinding"
Сообщение об ошибке я получаю:
Используемый режим кадрирования.Net не поддерживается "net.pipe://localhost/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>