Silverlight与ashx通讯序列化DateTime时需注意的细节

项目中由于出现某些wcf方法会阻塞Silverlight UI线程(我愤怒了。。。)的问题,所以通过和HttpHandler通讯结合(反)序列化Json完成交互。当遇到DateTime类型时要注意

因为DateTime类型在序列化时应表示为Int64处理,而默认的DateTime会被自动加上UAC。所以在序列化之前应该先强制不生成UAC,遇到此类问题可按照如下代码段处理

 so.启动日期开始 = dpCreateTimeFrom.SelectedDate;
 if (so.启动日期开始.HasValue)
     so.启动日期开始 = DateTime.SpecifyKind(so.启动日期开始.Value, DateTimeKind.Utc);
ps:其中启动时间为Nullable<DateTime>,客户端为方便美工而将实体中的属性在DataMember中标记为中文名称。

作者:紫色永恒

出处:http://024hi.cnblogs.com/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利

原文地址:https://www.cnblogs.com/024hi/p/1614671.html