データ コントラクトを使用してオブジェクトをシリアル化すると、循環参照の問題が発生します。IsReference=true の使用については知っていますが、制御できないオブジェクトから継承しているため、これを使用できません。回避する方法はありますか?休憩のように時間を数えて終了できますか?
2 に答える
1
ここで提案されているカスタムDataContractSerializerBehaviorの実装:循環参照とWCFで修正する必要があると思いますか?
非WCF用に更新:
リンクされた回答の解決策は、以下の使用に基づいています。
new DataContractSerializer(type, name, ns, knownTypes,
0x7FFF //maxItemsInObjectGraph,
false //ignoreExtensionDataObject,
**true** //preserveObjectReferences,
null //dataContractSurrogate);
このコンストラクターを使用すると、修正できると思います。
于 2012-05-16T18:32:14.643 に答える
-2
WeakReferences を使用できますか?
http://msdn.microsoft.com/pt-br/library/system.weakreference.aspx
于 2012-05-16T18:06:21.073 に答える