我将解释我的班级设计
public class A
{
public Ilist<B> Something { get; set; }
}
public class B
{
public A ParentA { get; set; }
}
现在我试图通过WCF传递A,它只是抛出一个异常。是否有一些属性我需要设置才能使其工作或者在WCF中根本不可能
答案 0 :(得分:3)
尝试使用以下方法装饰A类:
[DataContract(IsReference = true)]
B级只有:
[DataContract]
这将告诉WCF您将在服务中使用这些类型,IsReference
将处理循环引用问题以及减少邮件大小。您也可以尝试将IsReference
放在B上,而不是放在A上 - 我不记得它的确如何表现在我的头顶。
答案 1 :(得分:0)
您需要使用DataContracts
[DataContract]
[KnownType(typeof(B))]
class A
{
public Ilist<B> Something { get; set; }
}
[DataContract]
class B
{
public A ParentA { get; set; }
}