【发布时间】:2012-01-24 20:17:24
【问题描述】:
默认情况下,WCF 将缺失的元素反序列化为默认值,如 null、0 或 false。这种方法的问题在于,如果它是像数字 0 这样的基本类型,我不确定它是指外部系统发送的实际值还是 WCF 生成的默认值。
所以我的问题是:是否可以在运行时找出默认值是否意味着“我没有发送任何东西”。
这很重要,因为我们不能仅仅因为外部系统这次没有发送特定元素(数据损坏)而用默认值更新和覆盖数据库中的现有数据。
Microsoft 的简短回答是“由接收端点正确解释缺失的元素”。
数据成员默认值 http://msdn.microsoft.com/en-us/library/aa347792.aspx
有人能解释一下这是什么意思吗?
谢谢
【问题讨论】:
-
你可以使用 OnDeserializedAttribute 或 OnDeserializingAttribute msdn.microsoft.com/en-us/library/… 或 msdn.microsoft.com/en-us/library/…
-
如何使用可为空的数据成员? stackoverflow.com/questions/2426892/… 基本上,我想在将字段保存在数据库中之前进行某种空检查。 WCF 可以将缺失的元素反序列化为可空类型的空值吗?
标签: wcf datamember