Я пытаюсь использовать MemoryCache в .Net 4.5 для хранения объекта в течение 1 месяца (абсолютный срок действия - 1 месяц с момента создания кеша).
Проблема. Кажется, что срок действия кеша истекает в течение дня, а иногда даже в течение нескольких часов.
Фрагмент кода
// Setting the cache with absolute expiration time of 1 month:
string objName = "myObj";
MemoryCache memCache = MemoryCache.Default;
memCache.Add(tokenID, myObj, DateTimeOffset.UtcNow.AddMonths(1));
// Accessing the cache later
MemoryCache getCache = MemoryCache.Default;
getCache.Get(tokenID);
Вопросы
- Правильно ли я настраиваю кеш? Я не видел примеров, использующих AddMonths (), но есть много, которые используют AddDays () - должно ли это иметь значение?
- Есть ли максимальное количество времени, которое я мог бы использовать для абсолютного истечения срока действия? (Я не встречал примеров, которые устанавливали бы кеширование более чем на 30 дней, не используя бесконечное время истечения.)
- Что еще могло привести к такому быстрому истечению срока действия кеша?
Большое спасибо!