WCF中,循环引用问题
WCF初学者请教下问题,感谢大家帮忙!情况:有class A 和 B
[Serializable]
public class A
{
IList<B> _bList;
[XmlIgnore]
public IList<B> BList
{
get {return _bList;}
set {_bList = value;}
}
}
[Serializable]
public class B
{
A _aProperty;
public A AProperty
{
get {return _aProperty;}
set {_aProperty= value;}
}
}
此时,class A 和 B 是循环引用关系,并且WCF会使用默认的DataContractSerializer
但是,DataContractSerializer默认不支持循环引用的序列化
目前查到有2个方法可以解决:
1.在class A上使用[DataContract(IsReference=true)](DataContract这个Attribute不能与Serializable一起使用吧)
2.使用DataContractSerializer的preserveObjectReferences参数
我的问题是:
我的项目中,像A和B这样的class还有很多,并且不想删掉Serializable这个Attribute
这两种方式都需要在类(.cs文件)中处理,也就是说,需要一个class一个class的修改,很麻烦
有没有什么方式,可以在配置文件中实现的?
谢谢各位了!
--------------------编程问答-------------------- 我觉得吧,循环引用就不应该出现~~~
补充:.NET技术 , C#