【问题标题】:WCF Datetime problems when empty为空时的 WCF 日期时间问题
【发布时间】:2012-07-16 11:22:21
【问题描述】:

我的班级有一个数据成员Datetime StartDate

该值由数据库填充,可以为空。在这种情况下,我执行以下命令:

StartDate = new DateTime ()

此外,此属性由 WCF 服务发送。但是,当StartDate 为空(等于01/01/0001)时,我的客户端会失去与服务的连接。

我应该为 WCF (datetimeoffset) 使用另一种类型吗?或者我该如何使用datetime

谢谢!

【问题讨论】:

    标签: wcf c#-4.0 datetime


    【解决方案1】:

    考虑在合同中使用可为空的 DateTime:

    [DataMember]
    public Nullable<DateTime> StartDate {get;set;}
    

    [DataMember]
    public DateTime? StartDate {get;set;}
    

    【讨论】:

    • 好的,但是为什么 DateTime 的 MinValue 不适用于 WCF ? :S
    • 我不确定,但这可能会有所帮助:stackoverflow.com/questions/4025851/…
    • 另外,如果您要持久化到 MS SQL Server 数据库,则 Sql DateTime 的最小值为 1753 年 1 月 1 日。msdn.microsoft.com/en-us/library/…
    • 感谢您的链接,我将 ToUniversalTime 添加到我的命令中,它现在可以工作了:):这是一个序列化问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多