0

这是我已经问过的问题的后续问题。它得到了回答,但我有一个后续问题,我在那里发表了评论。由于我没有在那里得到答案,所以我在这里发帖。请原谅。

这是我的问题:.Net 缓存过期

现在我的后续问题:

在应用程序重启/应用程序池回收期间会调用 cacheItemRemovedCallback 吗?如果是,我可以在那里重新加载缓存吗?是对的吗?

还是仅在 cacheitemremovedreason 已过期时才检查条件,然后才重新加载缓存?

如果我错了,请告知如何处理应用程序池回收或应用程序重启。

谢谢您的帮助!

4

1 回答 1

2

AppPool 和 AppDomain 重新启动时,缓存将为空。由于新的 AppDomain 没有关于缓存中的项目的先验知识,因此不会触发有关“已删除项目”的事件。

如果您出于某种原因需要重新填充缓存 - 您可以在应用程序启动时进行,也简单地允许按需填充缓存可能是更好的选择。

于 2012-10-01T21:31:48.837 回答