我有一個POCO這樣的:ServiceStack - 有沒有辦法強制所有序列化日期使用特定的DateTimeKind?
public class BlogEntry
{
public string Title { get; set; }
public DateTime Date { get; set; }
}
大部分的它正在從實體框架水合的時間,但它能夠而且將實體框架之外使用。
來自EF的日期的DateTimeKind是未指定的,從我讀的是正常的。
當我在Redis中緩存這個POCO時(使用ServiceStack Redis客戶端),它返回一個DateTimeKind本地。
因此返回的對象存在抖動。第一遍(未緩存)的ISO-8061沒有偏移量(DateTimeKind.Unspecified)。第二遍(緩存)是帶有偏移量的ISO-8061(來自Redis和DateTimeKind.Local)。
任何方式強制ServiceStack JSON序列化程序總是將日期解釋爲給定的DateTimeKind? (我知道有一個「JsConfig.AppendUtcOffset」屬性,但不管它是真是假,這些數值對我來說永遠不會改變嗎?)
或者在我的類型化的RedisClient的反序列化過程中的某個地方使DateTimeKind本地?
我可以手動更改我的POCO來強制執行DateTimeKind - 而且工作正常 - 但我希望減少出錯的機率。
爲什麼我的設置中沒有調用'JsConfig .SerializeFn'委託的任何想法? –
ygormutti
你是否用可空的DateTime調用序列化? –
對於那些沒有立即找到ygormutti解決方案的人...您只需要做:'JsConfig .SerializeFn' –