WCF MaxStringContentLength

时间:2011-06-30 23:10:06

标签: asp.net wcf arguments max maxstringcontentlength

在将参数从WCF传递给WCF时,我已经超出了maxStringContentLength

没什么大不了的,我会提高价值。但在我做之前我有一个问题:

这是默认的8192大小的位,字节,字符,单词还是什么?!?!

我一直在这里(http://msdn.microsoft.com/en-us/library/system.xml.xmldictionaryreaderquotas.maxstringcontentlength.aspx),但显然这是一个很大的秘密,没有人应该知道。

2 个答案:

答案 0 :(得分:4)

以字节为单位。默认值为8K。

编辑添加
实际上,一个地方的文档说的是字符,所以字符可能是更正确的答案。如果您正在处理正常的255个ASCII字符,则字节有效,因为一个字节=一个字符。

答案 1 :(得分:1)

如Tim所提到的那样,长度是chracters(它基本上是string.Length的结果)。还要补充一点 - 字节和字符之间的相关性实际上取决于所使用的编码。对于普通的“文本”XML,如果使用UTF-8,则每个字符可以用1,2或3个字节表示。如果使用UTF-16,则每个字符总是2个字节。如果您使用二进制XML(即使用BinaryMessageEncodingBindingElement),您可能在内容中有一些字典字符串,它们只能占用几个字节,但它们可以扩展为大字符串values - 和MaxStringContentLength是其中一个配额,可防止恶意客户端发送少量字节,从而导致服务器中的内存大量分配。