Tag: servicestack文本

ServiceStack – 有没有办法强制所有序列化日期使用特定的DateTimeKind?

我有一个像这样的POCO: public class BlogEntry { public string Title { get; set; } public DateTime Date { get; set; } } 大部分时间它都是从Entity Framework中提取的,但它可以并且将在Entity Framework之外使用。 来自EF的日期的DateTimeKind是未指定的,从我读的是正常的。 当我在Redis中缓存此POCO(使用ServiceStack Redis客户端)时,它返回DateTimeKind of Local。 因此返回的对象存在抖动。 第一遍(未缓存)具有ISO-8061,没有偏移(DateTimeKind.Unspecified)。 第二遍(缓存)是带有偏移的ISO-8061(来自Redis with DateTimeKind.Local)。 是否有任何方法可以强制ServiceStack JSON序列化程序始终将日期解释为给定的DateTimeKind? (我知道有一个“JsConfig.AppendUtcOffset”属性,但无论是真还是假,价值观永远不会改变?) 或者在我的类型化RedisClient的反序列化过程中的某个地方使DateTimeKind本地? 我可以手动更改我的POCO来强制执行DateTimeKind – 这是有效的 – 但我希望有一些不易出错的东西。