堡主大名花花

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

客户端给对象int类型赋值,服务端收到值为0

网上给出的方案

1.数值型字段+isrequired属性。能解决问题,但没有说明原因。数值型默认不赋值,不科学。

2.emitdefaultvalue。没试过个人感觉也不科学。

自己摸索出的方案

1.字段赋值/字段isspecified=true。能解决问题,但也不科学。

最后发现

引用服务时,高级设置里如果取消勾选“重新使用引用程序集中的类型” ,则客户端生成的引用代码将不含 System.Runtime.Serialization.IExtensibleDataObject接口,

然后所有值类型赋值系统没法感应到,必须手工如上述两条方案在服务端或客户端强调一下有赋值。

 

强调一下,网上大部分说法关于原理的解释都是错的,但是很多都包含了正确的因素。特别是以下这篇文章

 

http://www.cnblogs.com/CharlesLiu/archive/2010/02/09/1666605.html
posted on 2015-12-25 15:56  堡主大名花花  阅读(222)  评论(1编辑  收藏  举报