【问题标题】:Wcf ignore MaxItemsInObjectGraph valueWcf 忽略 MaxItemsInObjectGraph 值
【发布时间】:2013-10-07 13:33:49
【问题描述】:

我们的 WCF 服务有以下异常:

对象图中可序列化或反序列化的最大项目数为“32767”。更改对象图或增加 MaxItemsInObjectGraph 配额。

我们将配置更改为:

  <behavior name="large">
      <dataContractSerializer maxItemsInObjectGraph="214783647"/>
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
  </behavior>

但没有变化。

在调试模式下,服务主机打开时,DataContractSerializer 的值为 214783647,仍然出现异常。

以编程方式更改值没有帮助。

在服务上添加 ServiceBehavior 属性没有帮助。

here 一样更改 machine.config - 没有帮助。

有什么想法吗? 谢谢。

【问题讨论】:

    标签: c# .net wcf serialization servicebehavior


    【解决方案1】:

    您可能需要确认错误不是来自交易的另一方(客户端)。

    一种验证方法是配置和启用 WCF 诊断事件跟踪和消息日志记录,然后重新运行测试事务并查看服务跟踪日志文件。以下链接演示了如何启用跟踪和消息记录。

    http://msdn.microsoft.com/en-us/library/ms751526.aspx

    【讨论】:

    • 嗨,我已经检查了第一件事......客户从未收到答案。
    【解决方案2】:

    感谢我的大学解决了删除 ReferencePreservingDataContractFormat 属性的问题,我们认为这是因为该属性创建了它自己的忽略配置的 DataContractSerializer。

    More details

    【讨论】:

    • 这就是为什么你必须将配置放在同一个文件夹中的原因:) 如果你不知道他们做什么,不要使用 [] ^^
    猜你喜欢
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多