Можно ли увеличить свойство максимальной длины содержимого строкового содержимого привязки дуплексного привязки опроса без преобразования в пользовательское связывание?

StackOverflow https://stackoverflow.com/questions/6306034

Вопрос

Я использую привязку к опросам дуплекс для связи между моим клиентским приложением Silverlight и моим веб -службой WCF. Я выдвигаю сообщения из веб -приложения Silverlight в веб -сервис WCF, а асинхронно вызывая метод из веб -службы с параметром строки XML. Все работало нормально, пока я не попытался отправить действительно большую строку XML. Тогда я получаю сообщение:

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

Обычно в этом случае делается увеличение свойства MaxStringContentLength для привязки в файле web.config. Проблема здесь заключается в том, что при попытке добавить элемент readerquotas (содержащий MaxStringContentLength) в привязку, он вообще не учитывается. Я обнаружил, что это известная проблема: http://blogs.msdn.com/b/silverlightws/archive/2010/04/04/some-known-wcf-issues-in-silverlight-4.aspx Анкет Приведено решение для использования пользовательского связывания, содержащего дуплексный элемент опроса. Я попробовал это, но каким -то образом я не заставил это работать.

Мой вопрос: есть какой -то другой обходной путь для этой проблемы или это единственное решение?

Это было полезно?

Решение

Нет, вам действительно нужно перейти к индивидуальному привязке. Класс OplingDuplexhttpBinding не разоблачает квоты читателя, поэтому, если у вас есть проблема квот, вам действительно нужно перейти на пользовательский маршрут для привязки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top