2011-09-29 10 views
5

Znalazłem odpowiedź na podobne pytanie (System.Web.Caching.Cache.NoSlidingExpiration in asp.net c#) i śledziłem linki, ale potrzebuję więcej konkretnych informacji, których nie mogę znaleźć.Cache.NoSlidingExpiration w ASP - kiedy jest resetowany?

NoSlidingExpiration nie resetuje się po "uzyskaniu do niego dostępu". Ale czy to znaczy, kiedy to czytasz? Lub też kiedy to piszesz?

Na przykład, jeśli robię

Cache.Insert("mykey", 42, null, DateTime.Now.AddMinutes(20), System.Web.Caching.Cache.NoSlidingExpiration); 

a następnie 10 minut później, robię:

Cache.Insert("mykey", 42, null, DateTime.Now.AddMinutes(20), System.Web.Caching.Cache.NoSlidingExpiration); 

znowu będzie wygaśnięcie być regulowana?

Dzięki!

Odpowiedz

7

Według dokumentu MSDN Cache.NoSlidingExpiration

, gdy są stosowane, to pole ustawia parametr slidingExpiration do TimeSpan.Zero dziedzinie , który ma stałą wartość zero. Buforowany element wygasa zgodnie z parametrem absoluteExpiration powiązanym z wywołaniem metody Insert lub Add.

Oznacza to, że podczas rozmowy Add lub Insert, bez względu na wartość absoluteExpiration dałeś w tej rozmowy będzie używany do wygaśnięcia tego elementu. Więc w przykładzie:

DateTime.Now.AddMinutes(20)

oznacza, że ​​element zostanie zresetowany po 20 minutach.