0

我正在使用 HttpRuntime.Cache 缓存我网站的部分内容。在另一个进程(控制台)中,我试图通过调用位于我的站点中的删除缓存函数来删除一些缓存键。问题是控制台缓存和站点缓存之间似乎没有连接,因为站点缓存似乎没有被删除。我可能做错了。请帮忙?

4

1 回答 1

4

它们在不同的进程中运行,并且HttpRuntime包含在正在运行的进程/上下文中。所以你的控制台应用程序正在清除Cache,但它是你的控制台进程的缓存,而不是 Web 应用程序的进程(它有一个单独的HttpRuntime)。

如果您希望您的控制台应用程序清除 Web 应用程序的缓存,您需要在您的 Web 应用程序上公开一个控制台应用程序可以调用的操作方法。在该操作方法中,您可以清除HttpRuntime.Cache.

关于控制器的操作方法可能看起来像的一些伪代码:

[HttpDelete]
public ActionResult ClearCache(){
  HttpRuntime.Cache.Clear();
}
于 2012-08-07T10:59:36.457 回答