我正在尝试使用DataContractSerializer从捕获的WCF消息日志(svclog)反序列化消息。
尝试调用dataContractSerializer.ReadObject()
时,某些对象会抛出异常抛出的异常是:“无效的ID''。不能为空或空”
在进一步调查中,我在svclog中找到了有问题的对象。
<personHeader xmlns:d4p1="http://schemas.datacontract.org/2004/07/Contosso.BusinessObjects"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<EntityKey xmlns:d5p1="http://schemas.datacontract.org/2004/07/System.Data" i:nil="true"
xmlns="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses"></EntityKey>
<UId xmlns="http://schemas.datacontract.org/2004/07/Contosso.BusinessObjects">F62C446B-C74E-4272-8338-7AF3D2957AC6</UId>
<d4p1:CustomerType>ABC</d4p1:CustomerType>
<d4p1:Screen>ConfigurePeople</d4p1:Screen>
<d4p1:ShowAllDisplayToPublic>true</d4p1:ShowAllDisplayToPublic>i1</personHeader>
真正的 问题可能是什么?如何解决这个问题?
答案 0 :(得分:0)
似乎ID属性/字段标记为必需,并且上面的Id的xml值为null / empty(z:Id =“”)。
... HTH