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中标记为中文名称。
posted @ 2009-12-01 16:09  紫色永恒  阅读(841)  评论(0编辑  收藏  举报