четверг, 19 сентября 2013 г.

DateTime.Now в SharePoint Server разные: что это значит?

В одной из реализаций, там где время играет очень большую роль. Столкнулся с интересной особенностью. Данный пост может показаться абсолютно тривиальным, но, по правде говоря данная особенность доставила много неудобств.



В двух словах

В методе выполняющимся на стороне сервера SharePoint, мы использовали свойство DateTime.Now для установки метаданных элементов списка.

Я бы сказал, ну и что DateTime.Now вернули время и закончим с этим.
Но если работа осуществляется по всему миру и время деньги, в этот момент и была замечена разность во времени.

Поднялся вопрос так откуда же берется значение DateTime.Now, гипотезы:


  • Время от контекста семейств веб-сайтов и его региональных настроек.
  • Время от контекста пользователя и его региональных настроек
  • Время от часового пояса сервера

После небольшого исследования и неудачных подтверждений гипотез, получил следующий вывод:

DateTime.Now зависит от настроек часового пояса пользователя запустившего  пул приложений для конкретного веб-приложения.

Так что разные веб-приложения могут возвращать разные значения времени.

Комментариев нет:

Отправить комментарий