5

DateTime使用 WCF处理对象时,返回DateTime的对象缺少该属性,即使我在返回之前手动更改它Kind也会始终如此!DateTimeKind.Unspecified

我在 WCF 方面做到了这一点:

dateFrom = DateTime.SpecifyKind(dateFrom , DateTimeKind.Utc);

仍然,它被发送DateTimeKind.Unspecified给客户......

客户端是 WinForm 应用程序,服务器是托管在 IIS 中的 WCF。

PS我知道这种DateTime.ToUniversalTime()方法,但这不是我需要的。

4

1 回答 1

5

您可以在这个问题中找到解决方案:

DateTime 和 xsd:date 的往返 XML 序列化?

处理日期、时间和日期时间值有不同的行为。对于 DateTime 值,如果 XmlDateTimeSerializationMode 不是 Local,则保留有关种类(UTC、Local 或 Unspecified)的信息。在反序列化时也是如此。但是,对于日期和时间,它们总是以相同的格式序列化:(yyyy-MM-dd 表示日期,HH:mm:ss.fffffff.zzzzzz 表示时间)。所以关于 kind 的信息在序列化和反序列化时会丢失。

于 2013-01-02T13:07:58.170 回答