【发布时间】:2020-03-25 10:56:38
【问题描述】:
我正在为 WCF 服务编写 .NET Core 3.1 客户端。我用 svcutil 生成了一个客户端。 reference.cs 中的所有成员都具有以下属性:
[System.Xml.Serialization.XmlElementAttribute("property.name", IsNullable = true, Order = 0)]
一些元素为空时不应在消息中序列化,即: 目前包含所有元素:
<criteria>
<criteria1 xsi:nil="true"/>
<criteria2>1</criteria2>
<criteria3 xsi:nil="true"/>
</criteria>
想要的结果:
<criteria>
<criteria2>1</criteria2>
</criteria>
在 .Net Framework 中,我能够添加属性 [DataMember(EmitDefaultValue=false)] 以获得正确的行为,这在 .NET Core 中不受支持。
【问题讨论】: