1
我試圖從使用DataContractSerializer捕獲的WCF消息日誌(svclog)反序列化消息。z:Id =「」。 DataContractSerializer在反序列化時拋出異常
一些對象拋出時嘗試調用dataContractSerializer.ReadObject()
引發的異常是一個例外:「無效的ID‘’不能爲null或空」
在進一步的調查,我發現了有問題的對象在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>
可能是什麼真正問題以及如何解決它?
謝謝您的迴應。儘管解決方法1不能立即生效,但在關閉「personHeader」標籤之前刪除內部文本「i1」後,它確實起作用。 我手動將「i1」移動到z:Id屬性中,現在它反序列化正確。 – Chetan 2010-12-13 19:04:49