Есть ли какой-нибудь способ запретить службам Silverlight / RIA преобразовывать объект datetime на проводе?
В настоящий момент я вижу, что для datetime установлено значение 'Local' или 'Unspecified', преобразованное в местное времясервер, когда они отправляются по проводной сети.
Например:
Клиент и сервер находятся в формате UTC -04: 00: 00.
- Iиспользуйте DateTime.Today (вид Local или Unspecified, это не имеет значения) на клиенте Silverlight.Я вижу 23/08/2010 00: 00: 00.
- Я отправляю свои изменения и смотрю, как данные передаются по проводам.Поле указывается в 23.08.2010 00:00:00 (-04: 00: 00).
Отлично.Теперь я меняю своего клиента на UTC +12: 00: 00
- Я использую DateTime.Today на клиенте, и теперь я вижу 24/08/2010 00: 00: 00.
- ОДНАКО - я отправляю свои изменения и снова просматриваю данные.Теперь я вижу 23/08/2010 08:00:00 (-04: 00: 00).
Так что очевидно, что сериализатор конвертирует в местное время сервера, которое яне хочу.Значение, которое я хочу указать в БД: 24/08/2010 00: 00: 00.
Использование UTC не является хорошим вариантом для этого поля, поскольку база данных является частью нашего старого приложения, а столбец содержит инвариантные даты.в это время.Я не хочу начинать вставку времени UTC вместе с существующими данными.
Есть идеи?
Заранее спасибо