I gone through this MSDN link but could not get enough details
Can any one explain me with a scenario where and why i need to set this value.
I came across the setting when i was trying to send a Data Contract object to service method and was getting exception The remote server returned an error: Not Found.,
My data contract is having List<>property and was getting exception if list contains 7 object it was working fine with 6 object.
I guess it was issue with Size of Data Contract.
When i changed my binding in config file
<readerQuotas maxDepth="64" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096" />
to
<readerQuotas maxDepth="128" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096" />
the Data Contract object reached to Service for processing.
The readerQuota settings are used to limit bindings as specified by the attributes. If a request exceeds any of those limits the WCF service will automatically reject the request (very low on the comms stack I believe) to do as little processing on the request as is possible.
The idea being that the service commit as few resources as possible to service the request (if it exceeds a given limit) to help fend off Denial-of-Service attacks - DDOS.
Note that the readQuota limits can be set on both server and client. This allows clients to be protected against fraudulent servers as well as protecting the servers.
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