Настройки кода
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding>
<binaryMessageEncoding />
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
</binding>
</customBinding>
<basicHttpBinding>
<binding maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="SilverlightApplication2.Web.EpriscriptionSrv">
<endpoint address="" binding="customBinding"
contract="SilverlightApplication2.Web.EpriscriptionSrv" />
<endpoint address="mex" binding="customBinding" contract="IMetadataExchange" />
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Отображаемая справка по ошибке 
Посетите, но не ответил
Wcf-максимум превышена квота на размер входящих сообщений (65536)?

Ответ 1 · рейтинг 2 · cmcquillan
Ваш файл конфигурации хоста службы не совпадает с конфигурацией вашего клиентского приложения.
На самом деле увеличение maxReceivedMessageSize на самом деле не имеет никакого эффекта при размещении в файле web.config на стороне сервера. Когда ваш сервис добавляется в качестве ссылки в другое приложение. Он сгенерирует конфигурацию клиента, очень похожую на ту, что вы видите на последнем снимке экрана. Однако по умолчанию часто используется размер сообщения, типичный для небольших веб-служб.
Чтобы получать сообщения большего размера, необходимо увеличить атрибут maxReceivedMessageSize в конфигурации на стороне клиента.
Поскольку вы в настоящее время используете тестовый клиент WCF, я приведу пару скриншотов, как это сделать там:
- При запуске тестового клиента WCF. Перейдите вниз к "Файлу конфигурации", щелкните правой кнопкой мыши и выберите "Редактировать с помощью SvcConfigEditor".
- В новом окне редактора конфигурации: разверните меню "Привязки" и выберите свою привязку. Затем отредактируйте атрибут MaxReceivedMessageSize.
- Нажмите Файл -> Сохранить и закройте редактор.
- На тестовом клиенте WCF. Теперь должно появиться новое всплывающее окно с сообщением о том, что конфигурация была изменена внешним редактором, и с предложением выполнить перезагрузку. Нажмите "Да", чтобы сделать это.
- Меню "Файл конфигурации" в тестовом клиенте WCF теперь должно отражать новые изменения. Теперь выполните тестовый вызов в тестовом клиенте WCF как обычно.
При развертывании этого приложения. Вам нужно будет убедиться, что файлы конфигурации клиента имеют соответствующие значения в атрибуте maxReceivedMessageSize, чтобы использовать вашу службу, но это должно запустить тестовый клиент на данный момент.
Ответ 2 · рейтинг 1 · Tim
Вы также можете попробовать увеличить значения квоты чтения в своей пользовательской привязке.
<bindings>
<customBinding>
<binding>
<binaryMessageEncoding>
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCounts="2147483647" />
</readerQuotas>
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
</binding>
</customBinding>
Кроме того, вы можете увеличить свойство maxItemsInGraph для DataContractSerializer с помощью поведения:
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<dataContractSerializer maxItemsInGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>