У меня есть система SaaS с несколькими клиентами по всему миру. Однако каждый клиент находится только в одном часовом поясе. Связь между клиентом и моим центральным сервером осуществляется с помощью WCF.
Теперь в системе есть аспект планирования, и время должно быть сохранено в терминах местного времени. Но я обнаружил, что когда я отправляю класс, помеченный атрибутом DataContract
, обладающим свойством DataMember
типа DateTime
через интерфейс WCF, система становится слишком умной вдвое и переводит время в серверное время. OTOH, если я передам значение DateTime непосредственно через интерфейс WCF в качестве параметра, время будет дословно, как время клиента.
Это вызывает у меня много головной боли. Есть ли что-то, что я могу где-то настроить, чтобы служба WCF не переводила время в локальное (серверное) время?
РЕДАКТИРОВАТЬ: Ну, я не знаю, что я сделал, но я работал над некоторыми связанными вещами, и проблема, кажется, просто исчезла! Поэтому я бы с удовольствием попробовал ваши ответы, но на самом деле я не могу сейчас воспроизвести свою собственную проблему ... Если бы у меня было время для академического упражнения, я бы посмотрел глубже, но сейчас, если он не сломался ...