0

循環参照のあるWCF契約を結んでいます。単純な親子関係の場合、ソリューションは.NET 3.5SP1以降(DataContractのIsReferenceプロパティ)を使用すると非常に単純です(このページには適切な説明があります)。

しかし、私の関係は3つのレベルの深さです:祖父母<->親<->子。「祖父母」には多くの「親」がいて、「親」には多くの「子供」がいます。祖父母<->の親の関係を機能させるために、祖父母にIsReferenceを設定しています-問題ありません。ただし、親<->子の関係を機能させるには、「親」もIsReferenceである必要があります。これを設定するとすぐに、サービスが失敗します。問題は、「祖父母」と「親」の両方がIsReferenceの場合、シリアライザーが何をすべきかわからないことだと思います。

IsReferenceでこれを修正する方法はありますか、それとも別の解決策を追求する必要がありますか?

4

1 に答える 1

0

私の側の愚かな間違い。「親」は抽象クラスであり、抽象クラスをマークする必要がある場合にのみ、そのサブクラスの1つをIsReferenceでマークしようとしました。

于 2010-05-20T20:27:34.353 に答える