ASP.NET缓存之间的区别

时间:2014-02-05 10:00:14

标签: c# .net caching

有什么区别:

  1. HttpRuntime.Cache["key"]
  2. HttpContext.Current.Cache["key"]
  3. HttpContext.Current.Application["key"]
  4. 这些记忆之间有什么重大差异吗?

1 个答案:

答案 0 :(得分:1)

HttpContext.Current.CacheHttpRuntime.Cache相同,上下文缓存prop只返回运行时Cache。 HttpRuntimeHttpContext只返回此对象的句柄。

建议使用

HttpRuntime.Cache,但在大多数应用程序中可能不会产生影响。

HttpContext.Current.Application不是缓存,它是全局命名值集合。如果您将一个对象添加到应用程序,它将一直保持到一个appdomain回收。如果将对象放在缓存中,则在获取它时不能保证它在那里。如果缓存太大,或者对象经常被抓取,缓存可以随意丢弃。