Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 18761|Отговор: 1

[WCF/Уеб услуги] Максималната квота за размер на съобщението за входящи съобщения (65536) е надвишена. За да увеличите квотата, използвайте ...

[Копирай линк]
Публикувано в 24.04.2017 г. 17:02:30 ч. | | |
Максималната квота за размер на съобщението за входящи съобщения (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-те години публикуване и блогване.





Предишен:.NET/C# Huawei NB-IoT интерфейсен инструмент за отстраняване на грешки [изходен код]
Следващ:Функция за двойно кликване с десен бутон в Winform ListView
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com