Wcf ignore MaxItemsInObjectGraph value

本文关键字:value MaxItemsInObjectGraph ignore Wcf | 更新日期: 2023-09-27 18:34:09

我们的 WCF 服务有以下例外:

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

我们将配置更改为:

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

但没有变化。

在调试模式下,当服务主机处于打开状态时,数据协定序列化程序的值214783647,并且仍会发生异常。

以编程方式更改值无济于事。

在服务上添加服务行为属性无济于事。

像这里一样更改机器.config - 没有帮助。

有什么想法吗?谢谢。

Wcf ignore MaxItemsInObjectGraph value

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

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

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

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

更多详情