我需要在WCF REST Self Hosted服务中替换JSON的DateTime序列化.现在,我正在使用类似下面的代码来完成它,但它绝对不是要走的路,因为它需要操作每个类.
[DataContract]
public class Test
{
[IgnoreDataMember]
public DateTime StartDate;
[DataMember(Name = "StartDate")]
public string StartDateStr
{
get { return DateUtil.DateToStr(StartDate); }
set { StartDate = DateTime.Parse(value); }
}
}
Run Code Online (Sandbox Code Playgroud)
我的实用程序函数DateUtil.DateToStr执行所有格式化工作.
有没有简单的方法来做到这一点,而不必触摸具有DataContract属性的类的属性?理想情况下,我的配置中没有属性,但是有几行代码可以替换序列化程序,而不是我重写了DateTime序列化.
我发现的所有东西看起来都像我必须更换管道的大块.
本文似乎不适用,因为在我使用的是WebServiceHost而不是HttpServiceHost,它不是4.5.1 Framework的一部分.
JSON 转换有限制DateTime,特别是根据您的情况。
请参阅http://msdn.microsoft.com/en-us/library/bb412170(v=vs.110).aspx
并阅读该部分Dates/Times and JSON
为了解决这个问题,我只是将所有调用的序列化类型从 更改JSON为,包括.XMLDateTime