Вам необходимо настроить потоковую передачу в используемой привязке. Потоковая передача поддерживается для BasicHttpBinding
, NetTcpBinding
и NetNamedPipeBinding
. Так что если у вас есть BasicHttpBinding
, ваша конфигурация должна выглядеть следующим образом:
<basicHttpBinding>
<binding name="HttpStreaming" maxReceivedMessageSize="67108864"
transferMode="StreamedResponse"/>
</basicHttpBinding>
Я использую StreamedResponse
здесь, потому что у вас есть только ответ, который должен быть потоком, а не запросом.
То, как вы читаете сам поток, зависит от того, что в нем. Предположим, что вы отправляете текстовый файл через поток, вы можете использовать StreamReader
:
var reader = new StreamReader(service.GetCoverScan(...));
string contents = reader.ReadToEnd();
Если вы отправляете XML-файл, вы можете прочитать его через XDocument
:
var doc = XDocument.Load(service.GetCoverScan(...));
Так что это действительно зависит от того, что вы отправляете по проводам.