Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 18761|Ответ: 1

[WCF/Веб-сервисы] Максимальная квота по размеру сообщений для входящих сообщений (65536) была превышена. Чтобы увеличить квоту, используйте ...

[Скопировать ссылку]
Опубликовано 24.04.2017 17:02:30 | | |
Максимальная квота по размеру сообщений для входящих сообщений (65536) была превышена. Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize на соответствующем элементе связывания.


При использовании WCF я сталкиваюсь со следующими проблемами:


Максимальная квота по размеру сообщений для входящих сообщений (65536) была превышена. Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize на соответствующем элементе связывания.

Описание проблемы:

Когда клиент вызывает WCF и возвращает большое количество данных, с локальной сетью нет проблем (клиент обнаружил проблему с машиной на месте, точная причина неизвестна). Есть проблема с публикацией в экстранете.


Исключение, которое фиксирует 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="MyBehavior" name="WcfService1.Service1">
        <адрес endpoint="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfService1.IService1" />
        <адрес конечной точки="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
На самом деле, между service.name и endpoint.contract всё ещё существует разница, контракт — это протокол, соответствующий ServiceContract в рамках проекта WCF, то есть интерфейс IService1, а сервис соответствует конкретному вызову svc, то есть Service1.

Пока проблема решена, спасибо @sunny007sun за 11 лет постов и блога.





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

Mail To:help@itsvse.com