DateTime.Now в SharePoint Server разные: что это значит?
В одной из реализаций, там где время играет очень большую роль. Столкнулся с интересной особенностью. Данный пост может показаться абсолютно тривиальным, но, по правде говоря данная особенность доставила много неудобств.
В двух словах
В методе выполняющимся на стороне сервера SharePoint, мы использовали свойство DateTime.Now для установки метаданных элементов списка.
Я бы сказал, ну и что DateTime.Now вернули время и закончим с этим.
Но если работа осуществляется по всему миру и время деньги, в этот момент и была замечена разность во времени.
Поднялся вопрос так откуда же берется значение DateTime.Now, гипотезы:
В двух словах
В методе выполняющимся на стороне сервера SharePoint, мы использовали свойство DateTime.Now для установки метаданных элементов списка.
Я бы сказал, ну и что DateTime.Now вернули время и закончим с этим.
Но если работа осуществляется по всему миру и время деньги, в этот момент и была замечена разность во времени.
Поднялся вопрос так откуда же берется значение DateTime.Now, гипотезы:
- Время от контекста семейств веб-сайтов и его региональных настроек.
- Время от контекста пользователя и его региональных настроек
- Время от часового пояса сервера
После небольшого исследования и неудачных подтверждений гипотез, получил следующий вывод:
DateTime.Now зависит от настроек часового пояса пользователя запустившего пул приложений для конкретного веб-приложения.
Так что разные веб-приложения могут возвращать разные значения времени.
Комментарии
Отправить комментарий