反序列化操作“CreateTransactionEntity”的回复消息正文时出错。读取 XML 数据时超出了最大字符串内容长度配额 (8192)。通过更改创建 XML 读取器时使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可以增加此配额。
嘿,即使我的 web.config 文件上有一个传奇般的 readerQuota 节点,我仍然收到此错误...
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="BindingTcp" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" closeTimeout="00:10:00">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</netTcpBinding>
在浏览了有关该主题的互联网后,我似乎无法想出一个像样的答案。如果您有任何建议,我将非常感激。
为了确保您为绑定指定的值被选取,您必须从<binding>
元素的绑定配置属性<endpoint>
元素。如果不这样做,WCF 将使用指定绑定的默认值。
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="BindingTcp" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" closeTimeout="00:10:00">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</netTcpBinding>
在上面的示例中,您已将“BindingTCP”指定为名称<binding>
元素。因此,在您的端点中执行以下操作:
<endpoint address="net.tcp://some.website.url/yourserivce" binding="netTcpBinding" bindingConfiguration="BindingTCP" contract="IYourContract" />
根据错误所在的位置(在客户端或服务器上)将确定需要修改哪个配置文件。如果两端都出现错误,请修改两个配置文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)