HttpRuntime.Cache清理默认行为?

时间:2010-04-27 20:43:14

标签: asp.net iis-7 iis-6

使用默认插入方法Insert(key,value)添加项目时,使用HttpRuntime.Cache的默认行为,何时进行清理?

托管我的应用程序的应用程序池的限制是0(无限制)...但我看不出有什么办法可以找出在清理之前缓存有多大?问题是我正在缓存可能非常大量的数据,但我在服务器上的内存有限,我想避免回收应用程序池。

我在IIS6和IIS7的上下文中询问。

谢谢。

1 个答案:

答案 0 :(得分:0)

简短的回答是缓存开始在Cache.EffectivePrivateBytesLimit清除。

默认限制是使用多种因素计算的,通常应使您的流程不会过度回收。理想情况下,应用程序不会受到回收的影响,但我发现有很多原因导致这种情况并非总是存在。如果需要,您应该能够与应用程序池回收设置set memory limits for the cache配合使用。

来自asp.net团队的Thomas Marquardt撰写了a very interesting post explaining the details