在WCF 4.0 REST服务中更改json DateTime序列化

bpe*_*kes 5 rest wcf json

我需要在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的一部分.

用于WCF REST服务的JSON.NET Serializer

DJ'*_*DJ' 2

JSON 转换有限制DateTime,特别是根据您的情况。

请参阅http://msdn.microsoft.com/en-us/library/bb412170(v=vs.110).aspx 并阅读该部分Dates/Times and JSON

为了解决这个问题,我只是将所有调用的序列化类型从 更改JSON为,包括.XMLDateTime