Максималната квота за размер на съобщението за входящи съобщения (65536) е надвишена. За да увеличите квотата, използвайте свойството MaxReceivedMessageSize върху съответния свързващ елемент.
При използването на WCF срещам следните проблеми:
Максималната квота за размер на съобщението за входящи съобщения (65536) е надвишена. За да увеличите квотата, използвайте свойството MaxReceivedMessageSize върху съответния свързващ елемент.
Описание на проблема:
Когато клиентът се обади на WCF и върне голямо количество данни, няма проблем с LAN (клиентът е открил проблем с машина на място, точната причина е неизвестна). Има проблем с публикуването в екстранета.
Информацията за изключение, която VS2012 Debug улавя, е: Възникваше грешка при прехвърляне на данни през HTTP канал (данните не можеха да бъдат прочетени от транспортната връзка: връзката беше затворена). )。
Изключението, върнато от инструмента WCFStorm, е: Максималната квота за размер на съобщението за входящи съобщения (65536) е надвишена. За да увеличите квотата, използвайте свойството MaxReceivedMessageSize върху съответния свързващ елемент.
Преди грешката, както сървърът, така и клиентът бяха добавили следните настройки:
Добавете следния код от страна на сървъра, за да решите проблема:
Надявам се това да реши и вас, които изпитвате същия проблем.
Други решения:
След като прочетох публикацията на @sunny007sun http://bbs.csdn.net/topics/360255080, беше намерено решение http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html неговия рекорд (блог). web.config, автоматично генериран от Silverlight, няма конфигурационна информация за услугите и трябва да бъде добавен тук <services> <service behaviorConfiguration="MyBehaviour" name="WcfService1.Service1"> <endpoint address="" binding="basicHttpBinding" bindingConfiguration="NewBinding0" contract="WcfService1.IService1" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> Всъщност все още има разлика между service.name и endpoint.contract, contract е протокол, съответстващ на ServiceContract по проекта WCF, тоест интерфейса IService1, а service съответства на конкретното повикване на svc, тоест Service1.
Досега проблемът е решен, благодаря @sunny007sun за 11-те години публикуване и блогване.
|