当前位置: 代码迷 >> ASP.NET >> 内存不足,cache里面缓存的对象会被强制释放. 如何才能不让其强制释放
  详细解决方案

内存不足,cache里面缓存的对象会被强制释放. 如何才能不让其强制释放

热度:3638   发布时间:2013-02-25 00:00:00.0
内存不足,cache里面缓存的对象会被强制释放..... 怎么才能不让其强制释放?
最近做了个网站。。 我的机器是512M的内存。在用cache的时候除了点问题。。这里想问问 Cache.NoAbsoluteExpiration的作用,不是永不过期吗?怎么还是被gc回收。。。 哪位大哥能说一下原理。顺便说一下如何才能不被回收?感谢

建立缓存:
C# code
context.Cache.Add("test1f", "testdata", null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(20), System.Web.Caching.CacheItemPriority.Normal, null);


当响应客户端的时候读取缓存,读出来居然是空值。。
C# code
string test = string.Format("{0}", context.Cache["test1f"]); 



这期间我由于启动了很多东西,内存达到了1G。。我确定第一步缓存是加入进去了。。 我不断的重复上面的操作,发现有时候能读出来,有时候不能。。 把东西都关掉,有了足够的内存后再重新测试,就能把缓存读出来。。而且很顺利。。

------解决方案--------------------------------------------------------
UP
------解决方案--------------------------------------------------------
加内存
------解决方案--------------------------------------------------------
用硬盘顶 有意义吗?
释放才是正确的。
  相关解决方案