What’s the best method for forcing cache expiration in ASP.NET?

There are many ways to make these caching expire, like page outputcache by

Page.Response.Cache.SetCacheability(HttpCacheability.NoCache)

Time-based dependency simply expires the item at a defined point in time.

Response.Cache.SetExpires(DateTime.Now.AddSeconds(360));
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Cache.SetSlidingExpiration(true);

Now when it comes to monitoring cache, unless there is an API on the cache to tell you, then there is no direct way.

You could of course enumerate the cache,key-value pairs and then calculate the size of each item stored. Doesnt sound easy right??

So here’s to make your cache monitoring easy. Frankly saying i never used it myself, but you can give it a try, just the matter of adding a dll to your application.

And here’s something for your cache keys view,

' display contents of the ASP.NET Cache
If Cache.Count > 0 Then    
  cc.Append("<b>Contents of the ASP.NET Cache (" _    
          & Cache.Count.ToString() & " items):</b><br />")    
  For Each item As Object In Cache    
    cc.Append("Key:'" & item.Key & "' Type:" _    
            & item.Value.GetType().ToString() & "<br />")    
  Next    
Else    
  cc.Append("<b>ASP.NET Cache is empty</b>")    
End If

Leave a Comment