Svårt att svara på. Det behöver nödvändigtvis inte vara den kod du visar som är felkällan.
Lägg in en delegate och skriv till en loggfil för att se vad som händer.
Läs How to: Notify an Application When an Item Is Removed from the Cache .
5 svar · 402 visningar · startad av freguz
Har inte full koll på cache hanteringen i .net, och undrar varför min cache försvinner (ibland)
Cachen ska leva i 6 minuter, men ibland försvinner den omedelbums....
Spelar det nån roll vilken CacheItemPriority man sätter? Kan cachen droppa beroende av hur belastad servern är? Kan man göra på annat sätt för att få garanterad cache tid?
mvh
vilsen 38-åring
string cachekey = "SERVERINFO_" + IP + "_" + Port;
string online = HttpContext.Current.Cache[cachekey] as string;
if(online == null)
{
online = "bla bla"; //massa rader här
HttpContext.Current.Cache.Add(cachekey, online, null, System.DateTime.Now.AddMinutes(6),
System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.High, null);
}
Svårt att svara på. Det behöver nödvändigtvis inte vara den kod du visar som är felkällan.
Lägg in en delegate och skriv till en loggfil för att se vad som händer.
Läs How to: Notify an Application When an Item Is Removed from the Cache .
ok, tackar.
Jaha nu har jag lagt in delegate och loggar CacheItemRemovedReason och allt funkar så fint , expirar efter 6 minuter.... får avvakta o se sen i loggen när den flippar ur
Jaha nu har den flippat ur helt.
RemovedReason: Underused
MSDN:
Underused - The item is removed from the cache because the system removed it to free memory.
Och då har jag ändå: CacheItemPriority.High :q
Inte bara jag som stött på detta :-)
http://msdn.microsoft.com/newsgroups/managed/default.aspx?dg=microsoft.public.dotnet.framework.aspnet.caching&mid=10dc1581-5283-4693-b5e1-9b271927233e&sloc=en-us
Du har visst missat CacheItemPriority.NotRemovable...
emission skrev:
Du har visst missat CacheItemPriority.NotRemovable...
:OO tackar, jag provar genast
* funkar som en dröm, nu med RemovedReason Expired