Прежде всего, WCF и SOAP не являются взаимозаменяемыми терминами :) Вы, наверное, задавались вопросом о веб-сервисе ASP.net по сравнению с веб-сервисом на основе WCF ...
В любом случае, для работы с документами (файлами, изображениями и т. Д.), Когда клиент ожидает получить полный файл, я бы рекомендовал использовать WCF, а затем использовать потоковое . Используя потоковую передачу, вам не нужно загружать все содержимое файла в память, это намного более дружественное к памяти решение и оно обрабатывает большие объемы данных. Существуют некоторые ограничения при использовании потоковой передачи (необходимо использовать сообщения по сравнению с контрактами данных, и вы можете использовать только несколько системных привязок - все они описаны в приведенной выше ссылке).
Надеюсь, это поможет!