Hi Peter, I looked into this a while ago and whilst the details escape
me, the config I settled on was the following:
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096"
maxNameTableCharCount="2147483647"/>
Empirically, this allowed me to send large amounts of data over the
network. Note, attributes not listed are assuming the default.
Sry can't provide more info or answers to those specific fields.
On 31/01/2011 3:36 PM, Peter Maddin wrote:
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
--
Wallace Turner | General Manager IT
FEX | ? 61 2 8024 5200 ? 61 2 8024 5234 | | ? [email protected] ?
www.fex.com.au
This correspondence is for the named person's use only. It may contain
confidential or legally privileged information or both.
No confidentiality or privilege is waived or lost by any mistransmission. If
you receive this correspondence in error, please
immediately delete it from your system and notify the sender. You must not
disclose, copy or rely on any part of this
correspondence if you are not the intended recipient.