Cache.Add абсолютный срок действия - на основе UTC или нет?

Примеры дляCache.Add использованияDateTime.Now.Add чтобы вычислить срок действия, то есть он передает:

 DateTime.Now.AddSeconds(60)

в качестве значенияabsoluteExpiration parameter.I»

Я думал, что вычисление его относительноDateTime.UtcNow было бы более правильно [так как нет никакой двусмысленности, если летнее время начинается в промежуточное время между настоящим моментом и точкой истечения срока].

До введенияDateTimeKindЯя бы догадался, чтоНекоторые уродливые хаки в управлении кешем заставляют его делать что-то подходящее, если время не было временем UTC.

В .NET 2.0 и более позднихЯ предполагаю, что он должен обрабатыватьDateTime рассчитывается какDateTime.UtcNow.AddSeconds(60) правильно, учитывая, что он имеетDateTime.Kind использовать в качестве входных данных в своих выводах.

уверенно использовалDateTime.UtcNow в качестве базы в течение многих лет, но не смог придумать обоснование того, что это определенно правильная вещь, если ничего не указывать на то, что документация вводит в заблуждение более 4 лет.

Вопросы?

Несмотря на то, что я много гулял и гуглил, мне не удалось найти какого-либо авторитетного обсуждения этого вопроса от MS - может кто-нибудь найти что-нибудь по этому поводу?Есть ли причина, по которой использование UtcNow не будет более правильным и / или безопасным?

(Да, я мог бы просмотреть источник и / или рефлекторd источник, но я ищу полное снижение за ударом!) Я

Ответы на вопрос(3)

Ваш ответ на вопрос