9

I have a web site IIS 6.0 that places data into the cache. Sadly it hasn't had a expiration set on it. Is there a way (utility or command) to force this cache to be cleared without rebooting the machine or restarting the web server?

I've already tried restarting the application pool without success.

automatic
  • 195
  • 1
  • 1
  • 4

3 Answers3

3

I use iisreset from command line but this restarts the IIS admin service and all dependent services. Which my not be to your liking.

However, it cleanly clears all cache, App Pools and .net cache too.

gbn
  • 6,009
  • 1
  • 17
  • 21
2

You can do it with some ASP.NET code:

foreach(DictionaryEntry entry in System.Web.HttpContext.Current.Cache) {
    System.Web.HttpContext.Current.Cache.Remove((string)entry.Key);
}
chaos
  • 7,463
  • 4
  • 33
  • 49
1

Can I ask why an iisreset isn't possible? The few seconds that it takes shouldn't be noticeable to your end-users. You could schedule it for a quiet period of the day to have the least affect.

Lazlow
  • 383
  • 3
  • 10