2012-05-16 13 views
0

使用數據契約序列化對象時,我遇到了循環引用的問題。我知道使用IsReference = true,但我不能使用這個,因爲我從我沒有控制權的對象繼承。有沒有什麼辦法可以避開,我可以計算時間並退出,就像休息一樣嗎?在DataContract串行器中停止循環引用

回答

1

實現自定義DataContractSerializerBehavior的建議在這裏:Circular References and WCF應該修復它,我認爲?

更新了非WCF:

在鏈接的答案該解決方案是基於使用:

new DataContractSerializer(type, name, ns, knownTypes, 
          0x7FFF //maxItemsInObjectGraph, 
          false //ignoreExtensionDataObject, 
          **true** //preserveObjectReferences, 
          null //dataContractSurrogate); 

使用此構造應該修復它,我認爲。

+0

我沒有使用wcf,它只是使用DataContractSerializer進行序列化。我怎麼能爲這種情況實施解決方案? –