Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WCF MaxReceivedMessageSize: maximum message size quota exceeded

Tags:

wcf

I am getting this error:

The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.

How can I increase this value in the WCF client application or the server application, and if possible an example of how this is done?

like image 298
JL. Avatar asked Oct 15 '09 16:10

JL.


2 Answers

You increase it on the client side in app/web.config:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="WSBigQuotaConfig" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2097152" maxBufferPoolSize="524288" maxReceivedMessageSize="2097152" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="2097152" maxArrayLength="2097152" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
                <security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
                    <message clientCredentialType="UserName" algorithmSuite="Default"/>
                </security>
            </binding>
      </basicHttpBinding>
  </bindings>

  <client>
      <endpoint 
          address="http://example.com/endpoint.svc"
          binding="basicHttpBinding"
          bindingConfiguration="WSBigQuotaConfig"
          contract="ISomeServiceContract" />
  </client>
</system.serviceModel>
like image 153
Darin Dimitrov Avatar answered Oct 30 '22 12:10

Darin Dimitrov


You need to set the MaxReceivedMessageSize attribute in your binding configuration. By default, it is 65536. I assume you're using data sets or something of that nature that end up being pretty large (mostly because they're represented with XML usually).

The good news is that I think you only need to change this in your client configuration. Take a look below.

<bindings>
   <netTcpBinding>
      <binding name="MyTcpBinding"
               maxReceivedMessageSize="2000000"/>
   </netTcpBinding>
<bindings>
like image 20
Ed Altorfer Avatar answered Oct 30 '22 12:10

Ed Altorfer