2010-06-09 80 views
3

從ASP.NET 3.5到ASP.NET 4.0的ASP.NET緩存類有什麼主要區別?ASP.NET緩存類 - ASP.NET 3.5和ASP.NET 4.0有區別嗎?

+0

當你說「ASP.NET緩存類」 - 你指的是實際的BCL緩存類?在這種情況下,我不認爲有任何分歧。 緩存區別更多的是OutputCache的可擴展性: http://weblogs.asp.net/scottgu/archive/2010/01/27/extensible-output-caching-with-asp-net-4- VS-2010和淨4-0-series.aspx – RPM1984 2010-06-09 04:16:35

回答

4

我不認爲有任何重大差異;雖然有一個新的MemoryCache類。

ASP.NET 4爲輸出緩存添加了可擴展性,使您可以配置一個或多個自定義輸出緩存提供程序。輸出緩存提供者可以使用任何存儲機制來保存HTML內容。這些存儲選項可以包括本地或遠程磁盤,雲存儲和分佈式緩存引擎。

...

自第一次發佈,ASP.NET已經包含了功能強大的內存對象緩存(高速緩存)。緩存實現非常流行,已被用於非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

2

作爲附錄Raj的回答:

的MemoryCache類是類似於ASP.NET Cache類。如果您已使用ASP.NET緩存類,則MemoryCache類具有訪問緩存的許多屬性和方法,這些緩存將爲您所熟悉。 Cache和MemoryCache類之間的主要區別在於MemoryCache類已更改爲使其可用於非ASP.NET應用程序的.NET Framework應用程序。例如,MemoryCache類對System.Web程序集沒有依賴性。另一個區別是,您可以創建MemoryCache類的多個實例,以用於相同的應用程序和相同的AppDomain實例中。

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