为操作'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>
Run Code Online (Sandbox Code Playgroud)
在浏览了这个主题的互联网后,我似乎无法得到一个体面的答案.如果您有任何建议我会非常感激.
Tim*_*Tim 15
为了确保选择为绑定指定的值,必须将<binding>元素的绑定名称分配给元素的bindingConfiguration属性<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>
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,您已将"BindingTCP"指定为<binding>元素中的名称.所以在你的端点做这个:
<endpoint address="net.tcp://some.website.url/yourserivce" binding="netTcpBinding" bindingConfiguration="BindingTCP" contract="IYourContract" />
Run Code Online (Sandbox Code Playgroud)
根据错误的位置(在客户端或服务器上)将确定需要修改哪个配置文件.如果两端都发生错误,请修改两个配置文件.
| 归档时间: |
|
| 查看次数: |
11232 次 |
| 最近记录: |