WCF 反序列化
毛员外 2017-01-16 10:50:00 场景:项目为CS架构,采用WCF通信,客户端提交数据至服务端,然后将数据存储到数据库,序列化采用默认DataContractSerializer。
其中,数据中有一个DateTime数据,DateTime.Kind类型是Local,导致客户端服务端跨时区时,客户端将数据提交至服务端,.Net会自动进行时区转换,客户端和服务端的DateTime字面值(年月日时分秒)发生了变化,导致了业务出现错误。
需求:在只改变服务端的前提下解决此问题。
个人认为的解决方案:wcf服务端在进行反序列化之前,也就是在xml序列化成object之前,我能将xml中的DateTime修改掉,
比如将:2017-01-16T13:41:25.0002457+7:00(假如xml中存储的格式是这种) 这个值修改为2017-01-16T13:41:25.0002457Z,
现在的问题是我不知道以何种方式介入,添加behavior之类?由于针对wcf不熟悉,目前搜索资料也未找到什么办法。
其他办法:有没有处理过类似问题的人?或者提供下方向?