我看到了错误:
可以序列化或反序列化的最大项目数 对象图是' 65536'更改对象图或增加 MaxItemsInObjectGraph quota
我理解如何通过
在服务器和客户端配置中解决这个问题<dataContractSerializer maxItemsInObjectGraph="262144"/>
在<behaviour>
元素中。
但我真正关心的是了解哪些物体正在运输而导致问题。我已将MaxItemsInObjectGraph配额提升至262144)并且仍然看到超出新值的错误。这引起了我的注意,我希望在记录哪些对象确实导致如此大的图形。
我已将svclog日志记录设置为:
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener2"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= ".\TracesGMUI.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
但是查看带有服务跟踪视图的loggs并不是(据我所知),我可以看到传输了什么对象并获得了字节或对象图形大小的处理。
任何想法如何获取此信息?真正意义上的内容与您在内存转储中看到的内容类似,即对象类的指示,对象大小(以字节为单位)和对象图大小