Существуют различные ограничения при использовании Stream
в сервисных контрактах WCF - согласно эта ссылка MDSN , только один (выходной) параметр или возвращаемое значение (типа stream) может использоваться при потоковой передаче.
В другой документации MSDN (в любом случае это хороший ресурс, если вы хотите передавать большие данные с помощью WCF), намекнули, что можно объединить поток и некоторые данные ввода / вывода с помощьюиспользуя Сообщение Контракт.Например, см. это сообщение в блоге , где автор использовал явный договор о сообщении для загрузки как имени файла, так и данных файла.Вы должны сделать то же самое с точки зрения загрузки.
Наконец, если ничего не работает, вы всегда можете выдвинуть длину файла в качестве настраиваемого (или стандартного, например, длины содержимого) HTTP-заголовка.Если вы размещаете хостинг в IIS, включите совместимость с ASP.NET и используйте HttpContext.Current.Response
, чтобы добавить свой настраиваемый заголовок.