complex类 序列化时 IsRequired = true 问题

最近项目使用xpo作为数据底层, 需要在webservice中通信(传参和返回)直接使用xpo,则需要改造xpo类,自己实现IXmlSerializable接口。

webservice客户端引用后, 调用时候发对象中的字符串类型的值不能为空,因为引用webservice生成的类字段上加了一个属性

[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, IsRequired=true)]

导致字段不能为空,其他自定义类(非xpo)则不会生成IsRequired=true,最终通过对比,在xpo类序列化类结构时,字段属性上加了 minOccurs=\"0\"  maxOccurs=\"1\",

客户端重新引用后,IsRequired=true 约束消失,问题解决。

posted on 2016-05-19 06:45  lynnjeans  阅读(653)  评论(0编辑  收藏  举报