Мой ответ состоит из двух частей: рекомендации для этой ситуации и рекомендации по улучшению отчетов об ошибках и отслеживанию на будущее.
Поскольку вы имеете дело с растровыми изображениями, рассматривали ли вы возможность использования необработанной модели программирования WCF? В этом сообщении блога подробно рассказывается, как использовать модель программирования на стороне службы, а в этом последующем сообщении блога подробно описывается, как использовать его на стороне клиента. Я видел, что он довольно часто используется для загрузки файлов и сценариев передачи изображений, так что это может помочь и в вашей ситуации!
CommunicationException является обобщенным и не раскрывает основное исключение. В будущем, при сообщении об ошибках, я бы рекомендовал включить IncludeExceptionDetailInFaults (либо из ServiceBehaviorAttribute, либо из поведения конфигурации) на сервере, чтобы отправить информацию об исключении обратно клиенту, а затем сообщить о вложенном исключении, которое вы получите подробно. .
Например:
<behaviors>
<serviceBehaviors>
<behavior
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
Что касается включения трассировки, ниже приведен мой совет, который я уже вставил в несколько других ответов.
Как правило, после того, как вы это сделаете, вам нужно будет больше информации о том, что происходит на стороне службы, и можно довольно быстро диагностировать проблему.