2013-10-07 61 views
1

我们的WCF服务具有以下例外:WCF忽略MaxItemsInObjectGraph值

,可以在一个对象图被序列或反串行化的项目的最大数目是“32767”。更改对象图或增加MaxItemsInObjectGraph配额。

我们更改配置到:

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

但没有改变。

在调试模式下,当服务主机打开时,DataContractSerializer的值为214783647,并且仍然发生异常。

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

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

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

任何想法? 谢谢。

回答

0

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

More details

+1

这就是为什么你必须把配置在这个相同的文件夹:)并且不使用[]如果你不知道他们做什么^^ –

3

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

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

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

+0

嗨,我检查了第一件事......客户端从未收到答案。 – Adiel