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

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

 DateTime.Now.AddSeconds(60)

в качестве значенияabsoluteExpiration параметр.

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

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

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

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

Вопросы?

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

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

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

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