读取 XML 数据时,超出最大字符串内容长度配额 (8192)

时间:2022-03-18 10:51:53

格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://www.thermo.com/informatics/xmlns/limswebservice 进行反序列化时出错: ProcessResponse。InnerException 消息是“反序列化对象 属于类型 DAL.ServiceReference1.ProcessResponseBody 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。 行 1,位置 10694。”。有关详细信息,请参见 InnerException。

第一步在服务器配置文件添加添加如下

主要是

maxReceivedMessageSize与maxStringContentLength
<system.serviceModel>
下添加
<bindings>
<basicHttpBinding>
<binding name="Basicbindings" maxReceivedMessageSize="202400000">
<readerQuotas maxStringContentLength="2024000000"/>
</binding>
</basicHttpBinding>
</bindings>

  第二步在客户端生成的配置文件修改

修改

maxReceivedMessageSize,maxBufferSize,maxStringContentLength三个值
 <binding name="BasicHttpBinding_TaoQuData" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2024000000" maxBufferPoolSize="524288" maxReceivedMessageSize="2024000000"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="2024000000" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>