Как настроить привязки в webconfig, чтобы включить потоковую передачу в службе RESTful WCF

#wcf #wcf-binding #custom-binding

#wcf #wcf-привязка #пользовательская привязка

Вопрос:

У меня есть служба RESTful, которую я пытаюсь включить для приема PDF-файла. Я использую stream для его передачи, но я продолжаю сталкиваться с таинственными ошибками в процессе.

Моя первая ошибка заключается в следующем: Security negotiation failed because the remote party did not send back a reply in a timely manner. This may be because the underlying transport connection was aborted.

Не уверен, что является причиной этого. Кроме того, я попытался добавить пользовательскую привязку в попытке исправить эту ошибку, и я получаю сообщение об ошибке, в котором говорится, что у меня неправильно настроена привязка.

Мой главный, общий вопрос заключается в следующем: кто-нибудь знает о простой привязке и полных инструкциях о том, как настроить ее для включения потоковой передачи?

Ответ №1:

Мне удалось заставить это работать. Я обнаружил, что моя проблема заключалась не в моей привязке, а в том, что она никогда не была зарегистрирована. Вот код в файле web.config:

 <services>
    <service name="ResearchUploadService.Service1" behaviorConfiguration="ResearchUploadService.Service1Behavior">
    <endpoint address="" binding="customBinding" bindingConfiguration="basicConfig" contract="ResearchUploadService.IService1"/>            
    </service>
</services>
...
<bindings>
    <customBinding>
        <binding name="basicConfig">
           <binaryMessageEncoding/>
           <httpTransport transferMode="Streamed" maxReceivedMessageSize="67108864"/>
        </binding>
     </customBinding>
</bindings>