0

データ コントラクトを使用してオブジェクトをシリアル化すると、循環参照の問題が発生します。IsReference=true の使用については知っていますが、制御できないオブジェクトから継承しているため、これを使用できません。回避する方法はありますか?休憩のように時間を数えて終了できますか?

4

2 に答える 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 に答える