应用程序池回收时Cache会发生什么?

时间:2010-07-19 10:39:11

标签: .net asp.net

我在IIS6 Win2003上有Web应用程序。此应用程序连接到w3wp.exe进程,在3-4分钟后它被回收(强制一个)达到CPU的50-70%。我在这个项目中很少有Cache的地方,所以我的问题涉及如果我设置AppPool回收限制的情况,并且该过程将每隔几分钟回收一次以避免高CPU过载,除非我找到导致它的原因可能需要数年(heh)......

我通过Web应用程序项目输出缓存和缓存使用两种类型的缓存。

一旦我回收申请,其中两个会发生什么?

如果其中两个删除了我应该做什么才能保持那些活着,即使我回收应用程序池?

2 个答案:

答案 0 :(得分:6)

缓存是应用程序域的一部分,因此回收应用程序池将使所有缓存项无效。

如果修改web.config文件或bin文件夹,也会发生这种情况。

答案 1 :(得分:1)

您可以查看进程外缓存,这将在应用程序池重启后继续存在,并且可以在多节点应用程序中共享,

查看Velocity(Microsoft AppFabric)或SharedCache(Opensource)