List里的对象有相互引用的情况,但传到WCF服务后,这种引用关系就不存在了,例如
public class A
{
public A Parent {get;set;}
}
Main()
{
A a1 = new A();
A a2 = new A();
a1.Parent = a2;
List<A> list = new List<A>();
list.Add(a1);
list.Add(a2);
WcfServiceClient service = new WcfServiceClient ();
service.UploadAsync(list);
}
WCF 服务
[..]
public WcfService
{
[..]
Upload(List<A> list)
{
// 这时, list里的a2.Parent 就不是 a1了, 而是新产生的一个
// 换句话说,list里一共有3个A对象. a1, a2, a2.Parent.
}
}