.net 调用WCF服务接收数据对象属性为空

今天,在调用一个WCF接口服务的时候,在WCF方法里面获得的结果是有值的,但是,在外面调用WCF方法的时候,返回的值对象属性却为空;

对象如下:

[DataContract]
    public class AssembleFqcErrorInfo
    {
        public string Z_DES { get; set; }

        public string ERROR_ID { get; set; }

        public string ERROR_NO { get; set; }

        public string ERROR_NAME { get; set; }

        public string F_DES { get; set; }

        public Nullable<decimal> ERROR_COUNT { get; set; }
    }

  就发现,在WCF服务的方法里面返回的对象属性是有值的,但是,在接收的对象属性却是null。

后来发现,[DataContract]服务契约,默认情况下,所有的成员属性都被排除在外,不会被序列化,所有需要把每一个要传送的成员声明为DataMember

[DataContract]
    public class AssembleFqcErrorInfo
    {
       [DataMember]
        public string Z_DES { get; set; }

        [DataMember]
        public string ERROR_ID { get; set; }

        [DataMember]
        public string ERROR_NO { get; set; }

        [DataMember]
        public string ERROR_NAME { get; set; }

        [DataMember]
        public string F_DES { get; set; }

        [DataMember]
        public Nullable<decimal> ERROR_COUNT { get; set; }
    }

  如上,解决问题。

原文地址:https://www.cnblogs.com/PingPo/p/13719274.html