c#WCF反序列化问题
具有由以下类组成并由服务器端(WCF)和客户端(Windows应用程序)应用程序共享的类库:c#WCF反序列化问题,c#,wcf,serialization,C#,Wcf,Serialization,具有由以下类组成并由服务器端(WCF)和客户端(Windows应用程序)应用程序共享的类库: [DataContract] public class A { public A() { } [DataMemeber] public int A1 { get; set; } [DataMemeber] public string A2 { get; set; } } [DataContract] public class B {
[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应该考虑到这一点,就像有任何其他对象需要一样,它也会自动序列化。有什么想法吗
谢谢您的帮助。您应该用
DataMember
因此:
[DataContract]
public A B_A { get; set; }
应该是:
[DataMember]
public A B_A { get; set; }
抱歉,输入错误,已标记为DataMember@Tim,实际上它应该可以工作,mb一些依赖项或您的类在f.e.中包含异常,共享真实代码