[Bug]The maximum array length quota (16384) has been exceeded while reading XML data.
写在前面
在项目中,有客户反应无法正常加载组织结构树,弄了一个测试的程序,在日志中查看到如下信息:
Error in deserializing body of reply message for operation 'GetDepartMentList'. The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 23793.
解决办法
上面那句话的意思大概是,在读取xml数据的时候超出了定额长度。而这个加载组织结构树的代码是采用wcf进行加载的,然后就想到了可以在客户端的配置文件中进行尝试。
修改如下:
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="OrganizationService" maxReceivedMessageSize="1024000000" maxBufferSize="1024000000"> <readerQuotas maxArrayLength="1024000000"/> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="http://98.87.118.114:6001/OrganizationService.svc/OrganizationService" binding="basicHttpBinding" bindingConfiguration="OrganizationService" contract="OrganizationService.IOrganizationService" name="OrganizationService" /> </client> </system.serviceModel>
问题到此解决。
-
博客地址:http://www.cnblogs.com/wolf-sun/
博客版权:如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。