ASP.NET缓存类 - ASP.NET 3.5和ASP.NET 4.0之间是否存在差异?

时间:2010-06-09 04:10:27

标签: asp.net asp.net-3.5 asp.net-4.0

ASP.NET 3.5到ASP.NET的ASP.NET缓存类之间是否有任何重大差异?

2 个答案:

答案 0 :(得分:4)

我认为没有任何重大差异;但是有一个新的MemoryCache类。

ASP.NET 4为输出缓存添加了可扩展性,使您可以配置一个或多个自定义输出缓存提供程序。输出缓存提供程序可以使用任何存储机制来保留HTML内容。这些存储选项可以包括本地或远程磁盘,云存储和分布式缓存引擎。

...

自首次发布以来,ASP.NET已经包含了一个功能强大的内存中对象缓存(Cache)。缓存实现非常流行,已经在非Web应用程序中使用。但是,对于Windows窗体或WPF应用程序来说,包含对System.Web.dll的引用只是为了能够使用ASP.NET对象缓存是很尴尬的。为了使缓存可用于所有应用程序,.NET Framework 4引入了新的程序集,新的命名空间,一些基本类型和具体的缓存实现。新的System.Runtime.Caching.dll程序集在System.Runtime.Caching命名空间中包含一个新的缓存API。命名空间包含两组核心类: 为构建任何类型的自定义缓存实现提供基础的抽象类型。 具体的内存中对象缓存实现(MemoryCache类)。

新的MemoryCache类在ASP.NET缓存上建模,它与ASP.NET共享大部分内部缓存引擎逻辑。尽管已更新System.Runtime.Caching命名空间中的公共缓存API以支持自定义缓存的开发,但如果您使用了ASP.NET缓存对象,则可以在新API中找到熟悉的概念。

http://msdn.microsoft.com/en-us/library/s57a598e.aspx

答案 1 :(得分:2)

作为Raj答案的附录:

MemoryCache类与ASP.NET Cache类相似。 MemoryCache类有许多用于访问缓存的属性和方法,如果您使用了ASP.NET Cache类,那么您将熟悉它们。 Cache和MemoryCache类之间的主要区别在于MemoryCache类已被更改,以使其可供非ASP.NET应用程序的.NET Framework应用程序使用。例如,MemoryCache类与System.Web程序集没有依赖关系。另一个区别是您可以创建MemoryCache类的多个实例,以便在同一个应用程序和同一个AppDomain实例中使用。

http://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache.aspx