【发布时间】:2010-07-18 18:54:15
【问题描述】:
我在消息契约请求类中生成了具有整数 [fieldName] 的 WCF 代理。我尝试将值发送到服务器,但值始终为 0,直到我手动将 [fieldNameSpecified] 设置为 true。
代理生成是否有问题或 WCF 是这样设计的? [Specified] 字段背后的原因是什么,特别是如果 string/guids 在代理类中没有指定字段?
提前谢谢你
【问题讨论】:
我在消息契约请求类中生成了具有整数 [fieldName] 的 WCF 代理。我尝试将值发送到服务器,但值始终为 0,直到我手动将 [fieldNameSpecified] 设置为 true。
代理生成是否有问题或 WCF 是这样设计的? [Specified] 字段背后的原因是什么,特别是如果 string/guids 在代理类中没有指定字段?
提前谢谢你
【问题讨论】:
这是因为 Xml 序列化程序从未更新为支持 Nullable,因此它使用值类型(例如,一个不能设置为 null 的 int)处理可选字段的方式是在其旁边添加一个 XxxSpecified 布尔字段这使您可以告诉序列化程序在序列化期间是否考虑相应字段的值。
【讨论】: