客户端给对象int类型赋值,服务端收到值为0
网上给出的方案
1.数值型字段+isrequired属性。能解决问题,但没有说明原因。数值型默认不赋值,不科学。
2.emitdefaultvalue。没试过个人感觉也不科学。
自己摸索出的方案
1.字段赋值/字段isspecified=true。能解决问题,但也不科学。
最后发现
引用服务时,高级设置里如果取消勾选“重新使用引用程序集中的类型” ,则客户端生成的引用代码将不含 System.Runtime.Serialization.IExtensibleDataObject接口,
然后所有值类型赋值系统没法感应到,必须手工如上述两条方案在服务端或客户端强调一下有赋值。
强调一下,网上大部分说法关于原理的解释都是错的,但是很多都包含了正确的因素。特别是以下这篇文章
http://www.cnblogs.com/CharlesLiu/archive/2010/02/09/1666605.html