5

我有一个返回 JSON 的 WCF 服务。

从今天早上开始,我开始收到以下错误:

DateTime values that are greater than DateTime.MaxValue or smaller than DateTime.MinValue when converted to UTC cannot be serialized to JSON

只是为了测试,我将今天的日期传递给使用 JSON 返回的所有 DateTime 变量,但我仍然得到相同的错误。

该代码大约有 2k 行,所以我认为在这里发布它没有任何价值。

知道如何解决吗?

4

1 回答 1

6

我怀疑你有一个DateTime未初始化的值 - 默认为DateTime.MinValue本地时间。如果您的本地时区早于 UTC,则无法将其转换为 UTC,因为这样做会导致负值Ticks

要么找到未初始化的值并更正它,要么搬到美国:)

另一种解决方案可能是使用可为空的值(DateTime?代替DateTime)。

这默认为null而不是DateTime.MinValue,因此您应该能够序列化未初始化的值。

于 2012-10-11T12:50:53.940 回答