webForumDet fria alternativet

Nollställa utmatningscachen

.NET

5 svar · 254 visningar · startad av Gutta

Medlem sedan mars 20074 inlägg
Frågan#1

Jag undrar om det finns något sätt att nollställa utmatningschachen i .net. Har en sida där data uppdateras ung en gång i veckan och skulle vilja sätta ganska långa cachetider, men samtidigt ändå garantera en snabb uppdatering av data när nya data blir inlagda. Undrar om det finns någon cache reset eller liknande för utmatningscachen. Vet inte om den heter så men det är den cachefunktionen som man anger med siddirektiv överst i aspx filerna.

//Jerka

Medlem sedan dec. 19996 721 inlägg
#2

DU kan knyta sidans cachning mot ett annat objekt i cachen, mha Response.AddCacheItemDependency, och sedan pilla på detta andra objekt när du vill invalidera sidcachen. Eller ännu enklare, använd Response.RemoveOutputCacheItem(virtuell sökväg till filen).

Medlem sedan mars 20074 inlägg
#3

Med risk för att få tomater på mig. Jag testade både
HttpResponse.RemoveOutputCacheItem(Request.PhysicalApplicationPath+"matchtable.aspx");

och

HttpResponse.RemoveOutputCacheItem("../matchtable.aspx");

Men jag får meddelandet:
System.ArgumentException: Invalid path for HttpResponse.RemoveOutputCacheItem 'c:\inetpub\wwwroot\pingis\matchtable.aspx'. An absolute virtual path is expected

Vad är det jag ska skriva en virtuell sökväg till?

Medlem sedan mars 20074 inlägg
#4

Okej.
Fick rätt på det nu. Det verkar dock inte som cachen töms med denna metoden. Trots att jag kör metoden
RemoveOutputCacheItem(@"\pingis\matchtable");
, så ligger cachen kvar...vad gör jag för fel?

Medlem sedan dec. 19996 721 inlägg
#5

Den absoluta virtuella sökvägen torde väl vara "/pingis/matchtable.aspx"

Medlem sedan mars 20074 inlägg
#6

Tack så hemskt mycket. Det funkade när jag ändrade \ till / .

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)