具有由以下类组成并由ServerSide(WCF)和ClientSide(Windows应用程序)应用程序共享的类库:
[DataContract]
public class A
{
public A()
{
}
[DataMemeber]
public int A1 { get; set; }
[DataMemeber]
public string A2 { get; set; }
}
[DataContract]
public class B
{
public B()
{
}
[DataMemeber]
public int B1 { get; set; }
[DataMemeber]
public string B2 { get; set; }
[DataContract]
public A B_A { get; set; }
}
如果我只请求B类对象,它会返回错误,因为Property B_A为NULL(事实上,在ServerSide上,属性B_A是非NULL),并且它不能在客户端进行反序列化。令人困惑的是,我认为WCF应该照顾它,就像有任何其他对象需要一样,它也会自动序列化。有什么想法吗?
感谢您的帮助。
答案 0 :(得分:1)
您应该使用DataMember
所以这个:
[DataContract]
public A B_A { get; set; }
应该是:
[DataMember]
public A B_A { get; set; }