我有一个网站 IIS 6.0,它将数据放入缓存中。遗憾的是,它没有设置过期时间。有没有办法(实用程序或命令)强制清除此缓存,而无需重新启动计算机或重新启动 Web 服务器?
我已经尝试重新启动应用程序池,但没有成功。
答案1
我使用命令行中的 iisreset,但这会重新启动 IIS 管理服务和所有相关服务。这可能不是你喜欢的。
但是,它也会清除所有缓存、应用程序池和.net 缓存。
答案2
您可以使用一些 ASP.NET 代码来完成此操作:
foreach(DictionaryEntry entry in System.Web.HttpContext.Current.Cache) {
System.Web.HttpContext.Current.Cache.Remove((string)entry.Key);
}
答案3
我可以问一下为什么 iisreset 不可能吗?它需要的几秒钟不应该被您的最终用户注意到。您可以将其安排在一天中比较安静的时间段,以尽量减少影响。