up vote 6 down vote favorite
share [g+] share [fb]

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.

link|improve this question
feedback

3 Answers

up vote 3 down vote accepted

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.

link|improve this answer
feedback

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);
}
link|improve this answer
feedback

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.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.