Böyle bir POCO vardır:ServiceStack - Tüm seri hale getirilmiş tarihleri belirli bir DateTimeKind kullanmaya zorlamanın bir yolu var mı?
o Entity Framework gelen sulu ediliyor Çoğu zamanpublic class BlogEntry
{
public string Title { get; set; }
public DateTime Date { get; set; }
}
, ancak ve Varlık Framework dışında delil olarak kullanılabilir.
EF Tarihinden DateTimeKind, Okuduğumdan normal olan Tarihsizdir.
Bu POCO'yu Redis'te (ServiceStack Redis istemcisini kullanarak) önbelleğe aldığımda, bir DateTimeKind of Local ile birlikte gelir.
Bu yüzden döndürülen nesnelerle bir titreme var. İlk geçiş (önbelleğe alınmamış), ofset olmaksızın ISO-8061'e (DateTimeKind.Unspecified) sahiptir. İkinci geçiş (önbelleğe alınmış) bir ofsetle (Redis with DateTimeKind.Local) ISO-8061'dir.
ServiceStack JSON serileştiricisini, tarihleri her zaman bir DateTimeKind olarak yorumlamak için zorlamanın herhangi bir yolu var mı? (Bir "JsConfig.AppendUtcOffset" özelliği olduğunu biliyorum, ancak bu doğru veya yanlış olup olmadığını, değerler benim için hiç değişmez mi?)
Ya da DateTimeKind yerel yapmak için yazılan RedisClient gelen serileştirme işlemi bir yerde?
POCO'larım DateTimeKind'i zorlamak için el ile değiştirebilirim - ve bu işe yarıyor - ama daha az hata eğilimli bir şey olmasını umuyordum.
'JsConfig .SerializeFn' delegesinin kurulumumda neden çağrılmadığına dair herhangi bir fikir var mı? –
ygormutti
Nişanlı DateTime ile seri hale getiriliyor musunuz? –
Ygormutti çözümünü hemen bulamayanlar gibi ... sadece yapmanız gereken tek şey şudur: 'JsConfig .SerializeFn' –