2012-05-23 87 views

回答

1

是的,你当然可以。

至于一个原因,它们并不完全一样,并且不共享相同的缓存优先级,所以如果你要使用它们,那么在内存不足的情况下,你可能会发现一些东西从缓存中弹出,你没有想到。

如果你只是使用其中一个,你应该没问题。

1

不同之处在于它针对non-asp.net应用程序的使用进行了优化,因为它对System.Web没有依赖性。根据this MSDN page,另一个区别是,您可以创建MemoryCache类的多个实例,以用于同一应用程序和同一AppDomain实例中。

因此,真的没有理由不仅仅是在你的asp.net应用程序中使用System.Web.Caching.Cache,但是,你也可以使用System.Runtime.Caching.MemoryCache。

1

我相信System.Runtime.Caching实际上是较新的,并建模System.Web.Caching之后,区别在于你不必依赖于System.Web程序集。此外,System.Runtime.Caching.MemoryCache是可扩展的,而你不能从System.Web.Caching.Cache继承

我的建议是,如果你有一个共同的库,比如说,用于Web和服务(例如),一起去System.Runtime.Caching所以你不”不得不包含System.Web绒毛(如果你不需要它)。

下面是关于该主题的一些讨论:dotnet System.Web.Caching.Cache vs System.RUntime.Caching.MemoryCache

MSDN:System.Runtime.Caching Namespace

MSDN:System.Web.Caching Namespace

相关问题