我最近转换了一些Silverlight3WCF服务来使用新的二进制HTTP绑定。在这些服务中,长字符串通常被发送到服务器进行反序列化,我以前使用它来确保数据能够被正确读取。但是,使用新绑定,我找不到添加元素的正确位置:
<customBinding>
<binding name="binaryHttpBinding">
<binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"/>
<httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
</binding>
</customBinding>
这是一个尝试:
<customBinding>
<binding name="binaryHttpBinding">
<binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647"/>
<httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
<textMessageEncoding>
<readerQuotas maxDepth="32" maxStringContentLength="5242880"
maxArrayLength="200000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
</customBinding>
这导致了其他问题——在同一个绑定中使用二进制编码和textmessageencoding似乎不是一个好主意。因此,仅使用二进制编码,如何增加读卡器配额以允许对大型字符串进行反序列化?