I'm getting the following error from my WCF service which is returning the results of a query in C# objects.
The maximum message size quota for incoming messages (131072) has been exceeded
I know how to resolve this via MaxReceivedMessageSize What I'm looking to find out is how do I find out what contributes to the message size. It dosn't look to me like it can be purely data e.g. If I add 5Kb of data to the amount of data I am pulling back from my service. I need to increase MaxReceivedMessageSize by more than 5KB in order to resolve the error.
I'm also wondering about any tools to look at the message size in the debugger. When I step through my code to the point where my WCF service is called, I cant seem to get any info on the message size etc
And finally how to trim/optimise the message size!
Can you turn on logging? If you include these snippets into your service config:
<system.diagnostics> 
  <sources>
    <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing" >
      <listeners>
         <add name="xmlTrace" 
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="c:\Traces\ServiceTrace.svclog" />
      </listeners>
    </source>
  </sources>
  <trace autoflush="true" />
</system.diagnostics>
<system.serviceModel>
  <diagnostics>
    <messageLogging 
        logMessagesAtTransportLevel="true" logMessagesAtServiceLevel="false" 
        logMalformedMessages="true" logEntireMessage="true" 
        maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" />
  </diagnostics>
</system.serviceModel>
This will create a file ServiceTrace.svclog in the directory you chose. Use the WCF Service Trace Viewer (found in your c:\program files\Microsoft SDKs\Windows\v6.0A\bin\ directory) to analyze the file - it will show you the exact contents of the messages, and also include the "content-length" for the message, so you'll see exactly how big the message is.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With