none
我弄不清楚的问题 RRS feed

  • 问题

  • 在用.net做web应用程序的时候,我发现还有我不明的问题

    来源是出于在web应用程序中定时执行某个任务的要求

    我现在不明白的问题是:

    1.如果我用以下代码

     HttpContext.Current.Cache.Add(cacheKeyName, '1', null,
                    DateTime.Now.AddDays(2), Cache.NoSlidingExpiration,
                    CacheItemPriority.High,
                    new CacheItemRemovedCallback(CacheItemOnRemoved));

    添加Cache的时候:应用程序池回收的时候,Cache也会清空吗?

    2.如果应用程序池回收的时候,Cache会清空,那么这时候Cache清空的时候,会触发清空事件并执行我设置的CacheItemOnRemoved方法吗?

     

    • 已移动 孟宪会Moderator 2010年3月30日 7:25 (发件人:.NET Framework 一般性问题讨论区)
    2010年3月29日 5:13

答案

  • 你好 Cache会在项过期、无效、或内存不足时移除缓存中的项,所以与State相比它是不稳定的

    Cache针对每个应用程序域中创建实例,当应用程序池回收时,那么Cache是会清空的

    这个时候清空由于是整个宿主环境都注销了,所以我个人理解是不会执行你说的方法的


    Memory all alone in the moonlight~My Blog in .NET~~~
    2010年3月30日 14:49
    版主