Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何从wcf中的响应中删除null DataMember属性_.net_Serialization - Fatal编程技术网

.net 如何从wcf中的响应中删除null DataMember属性

.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输出中。 如

我使用wcf webservice将xml输出返回到浏览器,如果DataContract的属性为null,它仍然作为

<Id i:nil="true" />


有没有办法让它根本不在响应中返回?

我自己解决了,我需要向我的DataMembers添加以下属性

[DataMember(EmitDefaultValue = false)]

在属性所在的类中,有一个构造函数。在构造函数中,将其初始化为null。如果DataContract的属性为null,则它不会出现在xml输出中。
如果希望在数据存在时将其显示在输出中,只需在公开数据的类中再次实例化即可。

这似乎对我不起作用。。。还有什么需要补充的吗?没有办法将其指定为默认行为吗?对于微软来说,这似乎是一个可怕的疏忽。例如,注释一个类库中包含超过100个POCO的每个属性是不可接受的。@Crush:我同意。有没有人有一个全局解决方案,而不是按属性?