c# WCF反序列化问题

本文关键字:问题 反序列化 WCF | 更新日期: 2023-09-27 18:06:30

拥有由以下类组成的类库,并由ServerSide(WCF)和ClientSide(Windows Application)应用程序共享:

[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的对象,它返回错误,因为属性B_A是NULL(事实上属性B_A在服务器端不是NULL),它不能在客户端反序列化。令人困惑的是,我认为WCF应该负责这个,就像如果有任何其他对象需要,它也会自动序列化。有什么想法吗?

谢谢你的帮助。

c# WCF反序列化问题

您应该用DataMember

标记字段

:

[DataContract]
public A B_A { get; set; }
应:

[DataMember]
public A B_A { get; set; }