I am looking at writing a WCF web service to transfer files but I am not
sure of some of the binding attributes of the readerQuotas element.
If I send binary files I presume with a basicHttpBinding that Soap 1.1
will be used and the content will be base64 encoded. This bulks up the
data transferred.
You can get an idea from
http://msdn.microsoft.com/en-us/library/ms731325.aspx. The details
provided are not very explanatory. Some examples would have been nice as
to where to change these attributes and why one should and what the
effect would be.
I looked at Programming WCF Services by Juval Lowy and it does not
mention this element. I think my copy is now out of date.
Attribute Description
maxArrayLength
A positive integer that specifies the maximum allowed array length of
data being received by Windows Communication Foundation (WCF) from a
client. The default is 16384. OK this sounds clear enough (I hope)
maxBytesPerRead
A positive integer that specifies the maximum allowed bytes returned per
read. The default is 4096.
Is this something one needs to adjust for performance reasons or does it
impact on the amount of data one is trying to transfer (I would have
though maxStringContentLength and maxReceivedMessageSize would be where
one needs to adjust things). What does this attribute actually do?
maxDepth
A positive integer that specifies the maximum nested node depth per
read. The default is 32.
Is this something to be aware of when defining ones DataContracts or is
it for something else.
maxNameTableCharCount
A positive integer that specifies the maximum characters allowed in a
table name. The default is 16384.
If one is not passing a table I guess this does not matter
maxStringContentLength
A positive integer that specifies the maximum characters allowed in XML
element content. The default is 8192.
Is this some needs to be aware of if one is using basicHttpBinding and
the content is base64 encoded, must one make an allowance for the extra
bloat?
Regards Peter