Что происходит, когда я добавляю элемент в кэш с TimeSpan.Zero в качестве срока действия? - PullRequest
3 голосов
/ 08 июля 2011

В моем приложении веб-сервисов я нашел код, который добавляет элемент в кэш:

System.Web.Caching.Cache.Insert(cacheKey, item, null, Cache.NoAbsoluteExpiration, 
                            TimeSpan.Zero, CacheItemPriority.Normal, callback);

В этом случае, похоже, что абсолютного истечения нет, и для SlidingExpiration установлено значение TimeSpan.Zero, что для меня означает, что срок действия предметов должен истечь немедленно.

В то же время я никогда не видел, чтобы что-то истекло, но я не достаточно терпелив, чтобы сидеть и ждать.

Так что же происходит в этом случае? Есть ли какое-то значение по умолчанию, которое срабатывает, когда SlidingExpiration равен нулю? Или это никогда не истекает

1 Ответ

5 голосов
/ 08 июля 2011

Это равно пропуску Cache.NoSlidingExpiration, так что да, срок действия элемента никогда не истечет (за исключением небольшого объема доступной памяти).

Статический член Cache.NoSlidingExpiration инициализируется TimeSpan.Zero.Cache.NoAbsoluteExpiration инициализируется как TimeSpan.MaxValue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...