[英]Wcf ignore MaxItemsInObjectGraph value
我们的WCF服务有以下例外:
在对象图中可以序列化或反序列化的最大项数是'32767'。 更改对象图或增加MaxItemsInObjectGraph配额。
我们将配置更改为:
<behavior name="large">
<dataContractSerializer maxItemsInObjectGraph="214783647"/>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
但没有变化。
在调试模式下,当服务主机打开时,DataContractSerializer的值为214783647,并且仍然会发生异常。
以程序方式改变价值并没有帮助。
在服务上添加ServiceBehavior的属性没有帮助。
像这里更改machine.config - 没有帮助。
有任何想法吗? 谢谢。
您可能想要确认错误不是来自事务的另一方(客户端)。
验证的一种方法是配置和启用WCF诊断事件跟踪和消息记录,然后重新运行测试事务并查看服务跟踪日志文件。 以下链接演示了如何启用跟踪和消息日志记录。
感谢我的大学,通过删除ReferencePreservingDataContractFormat属性解决了问题,我们认为这是因为该属性创建了自己的DataContractSerializer,忽略了配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.