2013-01-02 16 views
5

döndürülmez, DateTime nesneleri bunu dönmeden önce manuel olarak değişse bile, her zaman DateTimeKind.Unspecified olacak Kind özelliği eksik döndü! DateTime.Kind WCF

WCF tarafında yaptılar:

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

yine de

İstemci, sunucu WCF IIS barındırılan WinForm uygulamadır edilir ... müşteriye DateTimeKind.Unspecified olarak gönderilir.

P.S. DateTime.ToUniversalTime() yönteminin farkındayım, ancak ihtiyacım olan şey bu değil.

+0

Bu istek nereden geliyor? ** ** nasıl gönderiliyor? –

+0

@MichaelPerrenoud Winform istemcisi, sunucu IIS'de barındırılan WCF'dir. –

+0

Ve ** Winform istemcisinin tarihi nasıl geçtiği **? Ofset dahil mi? –

cevap

5

Bu söz konusu çözüm bulabilirsiniz: Tarih, Saat ve DateTime değerlerini işlemek için farklı davranışlar vardır

Roundtrip XML Serialization of DateTime and xsd:date?

. DateTime değerleri için, XmlDateTimeSerializationMode öğesi Yerel değilse, türle ilgili (UTC, Yerel veya Unspecified) bilgiler korunur. Bu, seri hale getirme sırasında da geçerlidir. Ancak, Date ve Time için, bunlar her zaman aynı biçimde serileştirilir: (Tarih için Yyyy-AA-dd ve Zaman için HH: mm: ss.fffffff.zzzzzz). Yani serileştirme ve serileştirme konusunda türüyle ilgili bilgiler kaybolur.

+0

+1 – Askolein