zoukankan      html  css  js  c++  java
  • webservice 针对WebService服务,客户端调用时报序列化的最大项数maxItemsInObjectGraph超过65536问题

    今天在使用webservice服务时候,报异常“The InnerException message was 'Maximum number of items that can be serialized or deserialized in an object graph is '65536'”,首先看到65536以为是传输的字节数超过了65536的限制,查看服务段配置文件如下:

     <httpRuntime executionTimeout="300000" maxRequestLength="2024000"/>

    已配置最大请求长度。

    客户端配置如下:

    <binding name="mySoap" closeTimeout="00:10:00" receiveTimeout="00:10:00"
    sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
      <readerQuotas maxStringContentLength="2147483647" />
    </binding>

    同样的配置了最大缓存,最大接受长度,原因不在此。

    仔细看异常信息,序列化时,最大项数maxItemsInObjectGraph超过了65536,是最大项数,不是最大字节。

    maxItemsInObjectGraph是在服务在一次调用序列化或者反序列化过程中,读或者写对象的最大数目。

    经查帮助文档,发现针对maxItemsInObjectGraph配置,默认是65536,服务端(wcf服务)可以通过如下调整:

    <behaviors>
      <serviceBehaviors>
        <behavior name="myBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

    而客户端可以通过如下调整:

    <behaviors>
      <endpointBehaviors>
        <behavior name="myBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>

    配置过后,运行正常。

    大家也可以参考http://www.cnblogs.com/wangshuai/archive/2009/12/29/1634978.html

  • 相关阅读:
    POJ_2513Colored Sticks 字典树+
    hdu1098:Ignatius's puzzle
    hdu1010:Tempter of the Bone 搜索+剪枝
    轻院1875: 蛤玮的财宝
    POJ3069:Saruman's Army
    轻院1874: 蛤玮学计网
    Educational Codeforces Round 18 E. Colored Balls
    浏览器f12的方法下载资源
    把手机上的新浪微博客户端卸载了
    Xmind使用总结
  • 原文地址:https://www.cnblogs.com/lcawen/p/6006803.html
Copyright © 2011-2022 走看看