Превышен максимальный размер квоты для входящих сообщений (65536) - PullRequest
9 голосов
/ 29 августа 2011

У меня есть следующая конфигурация для службы WCF.

Несмотря на увеличение maxReceivedMessageSize, служба по-прежнему выдает ошибку:

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

Как это можно решить?

  <system.serviceModel>
    <services>
      <service name="MyService" behaviorConfiguration="MyServiceTypeBehaviors">
        <endpoint address="http://localhost:22230/MyService.svc"
              binding="basicHttpBinding"
              bindingConfiguration="MyServiceBinding"
              contract="IMyService" />

        <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors" >
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <bindings>
      <basicHttpBinding>
        <binding name="MyServiceBinding"
               hostNameComparisonMode="StrongWildcard"
               receiveTimeout="00:10:00"
               sendTimeout="00:10:00"
               openTimeout="00:10:00"
               closeTimeout="00:10:00"
               maxReceivedMessageSize="6553600"
               maxBufferSize="6553600"
               maxBufferPoolSize="524288"
               transferMode="Buffered"
               messageEncoding="Text"
               textEncoding="utf-8"
               bypassProxyOnLocal="false"
               useDefaultWebProxy="true" >
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>
  </system.serviceModel

Ответы [ 3 ]

15 голосов
/ 29 августа 2011

Если это конфигурация службы, вы должны заглянуть в конфигурацию клиента и сопоставить maxReceivedMessageSize с размером сообщения сервера. Сообщение приходит от вашего клиента.

4 голосов
/ 29 августа 2011

Вам необходимо увеличить максимальный размер сообщения в конфигурации клиента. По умолчанию 65536, удвоение может быть достаточно для ваших нужд.

Если вы конфигурируете свои конечные точки программно, может помочь следующий фрагмент кода:

BasicHttpBinding binding = new BasicHttpBinding() { MaxReceivedMessageSize = 131072 };

Затем при создании экземпляра клиента службы передайте этот объект привязки в конструктор. Например:

MyServiceClient client = new MyServiceClient(binding, "http://www.mysite.com/MyService/");
0 голосов
/ 26 января 2017

Обязательно скопируйте новый файл App.config

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...