.net 如何从wcf中的响应中删除null DataMember属性
我使用wcf webservice将xml输出返回到浏览器,如果DataContract的属性为null,它仍然作为.net 如何从wcf中的响应中删除null DataMember属性,.net,serialization,.net,Serialization,我使用wcf webservice将xml输出返回到浏览器,如果DataContract的属性为null,它仍然作为 <Id i:nil="true" /> 有没有办法让它根本不在响应中返回?我自己解决了,我需要向我的DataMembers添加以下属性 [DataMember(EmitDefaultValue = false)] 在属性所在的类中,有一个构造函数。在构造函数中,将其初始化为null。如果DataContract的属性为null,则它不会出现在xml输出中。 如
<Id i:nil="true" />
有没有办法让它根本不在响应中返回?我自己解决了,我需要向我的DataMembers添加以下属性
[DataMember(EmitDefaultValue = false)]
在属性所在的类中,有一个构造函数。在构造函数中,将其初始化为null。如果DataContract的属性为null,则它不会出现在xml输出中。
如果希望在数据存在时将其显示在输出中,只需在公开数据的类中再次实例化即可。这似乎对我不起作用。。。还有什么需要补充的吗?没有办法将其指定为默认行为吗?对于微软来说,这似乎是一个可怕的疏忽。例如,注释一个类库中包含超过100个POCO的每个属性是不可接受的。@Crush:我同意。有没有人有一个全局解决方案,而不是按属性?