Почему средство форматирования WCF выдает исключение?

Я получаю следующее сообщение об ошибке при вызове службы WCF:

«Программа форматирования выдала исключение при попытке десериализации сообщения: произошла ошибка при попытке десериализации параметра http://tempuri.org/:fieldText. Сообщение InnerException: "Произошла ошибка при десериализации объекта типа System.String[]. При чтении данных XML превышена квота на максимальную длину содержимого строки (8192). Эта квота может можно увеличить, изменив свойство MaxStringContentLength в объекте XmlDictionaryReaderQuotas, используемом при создании средства чтения XML. Строка 1, позиция 10889.'. Дополнительные сведения см. в разделе InnerException".

Раздел WCF в моем файле web.config выглядит так:

<basicHttpBinding>
        <binding name="BasicHttpBinding_IMySvc" maxReceivedMessageSize="2147483647" sendTimeout="00:05:00"
                 messageEncoding="Text" textEncoding="utf-8" >
          <readerQuotas maxStringContentLength="2147483647" maxArrayLength="163840000"/>
        </binding>
</basicHttpBinding>

Кроме того, размер моего входного сообщения: 15869 символов.

Что мне здесь не хватает?


person Steve Chapman    schedule 30.04.2009    source источник
comment
Добавьте конфигурацию конечной точки для ясности.   -  person Joshua Belden    schedule 30.04.2009
comment
‹адрес конечной точки=localhost:3193/MySvc.svc binding=basicHttpBinding bindingConfiguration=BasicHttpBinding_IMySvc contract=MySvc.IMySvc имя = BasicHttpBinding_IMySvc /›   -  person Steve Chapman    schedule 30.04.2009


Ответы (1)


Убедитесь, что ваша конечная точка действительно использует привязку.

<endpoint address="" binding="basicHttpBinding" contract="IMySvc" bindingConfiguration="BasicHttpBinding_IMySvc">
person Joshua Belden    schedule 30.04.2009
comment
Да, просто объявить это не очень помогает - на это тоже нужно ссылаться :-) - person marc_s; 30.04.2009
comment
конечно, да...!иначе было бы выдано исключение: не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт "MySvc.IMySvc" в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего приложения не найден файл конфигурации или с тем, что в клиентском элементе не удалось найти элемент конечной точки, соответствующий этому контракту. - person Steve Chapman; 30.04.2009