Где можно увеличить maxStringContentLength, чтобы заставить WCF передавать большие строки?

Хорошо, я установил и протестировал небольшую симпатичную службу WCF. Клиент создает строку и передает ее в метод службы, а затем служба сохраняет ее как файл. Отлично работает с небольшими объемами тестовых данных, но когда я пытаюсь выполнить то, что он должен делать - передать несколько сериализованных объектов .net - он падает с ошибкой

Программа форматирования выдала исключение, пока пытаясь десериализовать сообщение: Ошибка десериализации тела запроса сообщение для операции максимальная строка Квота длины содержимого (8192) была превышена при чтении данных XML. Эту квоту можно увеличить, изменив свойство MaxStringContentLength в объекте XmlDictionaryReaderQuotas, используемом при создании средства чтения XML

. Я смотрю на это и обнаруживаю, что свойство MaxStringContentLength должно быть установлено в теге «readerQuotas» в теге файла конфигурации, вот так:

     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

Вот и меняю. Я меняю его в файле App.config своего клиента. Я меняю его в файлах App.config и Web.config своего сервера. Я меняю его в файле App.config моего проекта модульного тестирования. И ничего из этого не работает - я получаю ту же ошибку.

Интересно и досадно, когда я запустил WcfClient.exe, чтобы взглянуть на мою службу, подключенную к ней, и посмотреть файл конфигурации (Client. dll. config) Я был потрясен, обнаружив, что этот автоматически сгенерированный файл не содержал никаких моих изменений и был сброшен на:

  <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />

Я понятия не имею, откуда он получает эти значения - нигде во всем моем решении они не устанавливаются. Значит, он должен использовать значения по умолчанию, но я не понимаю, почему он использует значения по умолчанию, когда я предоставил собственные файлы конфигурации и на сервере, и на клиенте.

Может ли кто-нибудь помочь мне распутать это?

9
задан Bob Tway 18 February 2011 в 16:19
поделиться