WCF service dataContractSerializer maxItemsInObjectGraph in web.config

16,834

In your behavior section, add an endpoint behavior with the dataContractSerializer, like so:

<endpointBehaviors>
  <behavior name="LargeQuotaBehavior">
   <dataContractSerializer maxItemsInObjectGraph="2147483646"/>
  </behavior>
</endpointBehaviors>

Then modify your endpoint to use this behavior like so:

<endpoint address="http://localhost/myservice/"
          binding="webHttpBinding"
          bindingConfiguration="webHttpBinding1"
          contract="MyNamespace.IMyService"
          bindingNamespace="MyNamespace"
          behaviorConfiguration="LargeQuotaBehavior">

This should solve your problem.

Share:
16,834

Related videos on Youtube

Dave
Author by

Dave

Updated on April 25, 2022

Comments

  • Dave
    Dave about 2 years

    I am having issues specifying the dataContractSerializer maxItemsInObjectGraph in host's web.config.

     <behaviors>
      <serviceBehaviors>
        <behavior name="beSetting">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="True" />
          <dataContractSerializer maxItemsInObjectGraph="2147483646"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
     <services>
      <service name="MyNamespace.MyService"
               behaviorConfiguration="beSetting" >
        <endpoint address="http://localhost/myservice/"
                  binding="webHttpBinding"
                  bindingConfiguration="webHttpBinding1"
                  contract="MyNamespace.IMyService"
                  bindingNamespace="MyNamespace">
        </endpoint>
      </service>
    </services>
    

    The above has no effect on my data pull. The server times out because of the large volume of data.

    I can however specify the max limit in code and that works

      [ServiceBehavior(MaxItemsInObjectGraph=2147483646, IncludeExceptionDetailInFaults = true)]
      public abstract class MyService : MyService 
      {
       blah...
     }
    

    Does anyone know why I can't make this work through a web.config setting? I would like to keep in the web.config so it is easier for future updates.

  • user1131926
    user1131926 over 9 years
    I ran into a similar issue today. Wcf was throwing exceptions about maxItemsInObjectGraph exceeded even though it was there in endpoint behaviour. then I moved that to Service behaviour which solved the issue.stackoverflow.com/questions/26610861/…