如何在不重新启动 Web 服务器的情况下刷新 IIS 缓存?

如何在不重新启动 Web 服务器的情况下刷新 IIS 缓存?

我有一个网站 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 不可能吗?它需要的几秒钟不应该被您的最终用户注意到。您可以将其安排在一天中比较安静的时间段,以尽量减少影响。

相关内容