У мене є Web-сервіс WCF з параметром типуДата, час. Ця веб-служба працює на Windows Azure. Наш клієнт написаний на Java і працює в іншому часовому поясі. Коли він називає цей веб-сервіс і передає дату (наприклад, 2011-03-27 12:00 +0100), .NET Framework автоматично перетворить дату в часовий пояс серверів Windows Azure.
Чи можна пропустити цю конверсію і отримати точний час, відправлений клієнтом?
Відповіді:
1 для відповіді № 1Це правильна поведінка: в цілому краще працювати з узгодженим універсальним часом при роботі з розподіленими послугами. У вашому випадку Azure / WCF повинен повідомити про час як 13:00, оскільки годинник Azure встановлений на UT.
Якщо припустити, що ваш клієнт Java кодує датування належним чином, то
Кращі практики для серіалізації DateTime у .NET 3.5
дає деякі підказки про те, як витягувати місцеву дату та час та інформацію про часовий пояс, введену користувачем. (Перейдіть до нижньої відповіді.)