Именованные каналы 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>

0 ответов

Другие вопросы по тегам