2012-05-23 30 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

相關問題