List
我有一个 WCF 服务,它应该向我的客户端应用程序返回一个。数据库中的一列是byte[]
. 当我尝试返回这个对象列表时,我只得到一个NetDispatcherFaultException
带有这个内部异常的:
“读取 XML 数据时超出了最大数组长度配额 (16384)。可以通过更改创建 XML 读取器时使用的 XmlDictionaryReaderQuotas 对象的 MaxArrayLength 属性来增加此配额。第 1 行,位置 38697。”
我在这之后用谷歌搜索,发现我应该在 中增加maxArrayLength
,web.config
所以我做了:
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https"/>
<add binding="basicHttpBinding" scheme="http"
bindingConfiguration="CrudserviceBinding" />
</protocolMapping>
<bindings>
<basicHttpBinding>
<binding name="CrudserviceBinding" maxReceivedMessageSize="52428800" >
<readerQuotas maxStringContentLength="10242880"
maxArrayLength="10242880" />
</binding>
</basicHttpBinding>
</bindings>
这是我在客户端的 app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ICrudService">
<readerQuotas maxStringContentLength="5242880"
maxArrayLength="52428800" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/My.Project/CrudService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_ICrudService"
contract="MobileCrudService.ICrudService"
name="BasicHttpBinding_ICrudService" />
</client>
</system.serviceModel>
</configuration>
当我再次尝试此操作时,WCF 服务返回相同的异常。谁能解释我应该如何处理这个问题?