【发布时间】:2011-07-29 15:07:21
【问题描述】:
我有一个 WCF 服务,结果是一个自定义的 TimeSeries 类,定义为:
[DataContract]
public class TimeSeries
{
[DataMember]
public string Name { get; set; }
[DataMember]
public List<KeyValuePair<DateTime, double>> Data { get; set; }
}
我的服务方法会创建一个包含这些对象的数组以返回。调试服务方法,我可以看到包含这些对象之一的数组被正确创建(它有一个名称和 37 个 vk 数据对)。使用 Fiddler,我可以看到对象正在被序列化和发送(HTTP 响应中的数据仍然正确)。但是,当我在客户端检查结果对象并且它不正确时,问题就来了。具体来说,我得到了一个具有正确名称的 TimeSeries 对象,以及正确的 number 个 kv 对,但它们包含每个 DateTime 和 double 的默认值(即 01/01/0001 12:00AM & 0.0)。
我的客户端是 Silverlight v4,我正在使用自动生成的服务参考。该问题似乎与反序列化有关。任何人对它为什么这样做、我缺少什么或如何解决它有任何想法?
【问题讨论】:
-
有一个有效的答案,我认为:stackoverflow.com/questions/2658916/…
标签: wcf serialization silverlight-4.0 datacontract