ASP.NET 應用程序緩存

ASP.NET 應用程序緩存的研究;首先新建一個 Web 窗體,默認狀況下就可以直接使用 Cache 對象來進行緩存的管理,但很是奇怪的是在 Visual Studio 中,當鼠標放到這個 Cache 上時會出現來自 System.Web.Caching.Cache 的提示,但實際上你不能直接使用這個命名空間加上類型來管理緩存,不然會出現錯誤;當本身鍵入這個命名空間加上 Cache 時只會出現兩個名字帶 Expiration 的成員。來自兩個不一樣命名空間的 Cache 對象管理緩存實際上效果是同樣的,它們可能都直接做用於當前 Web 應用程序的緩存,以下代碼:緩存

System.Web.HttpRuntime.Cache.Insert("cache_test", "System.Web.HttpRuntime.Cache success.<br/>", null, DateTime.Now.AddSeconds(5), System.Web.Caching.Cache.NoSlidingExpiration);
System.Web.Caching.Cache cache = new System.Web.Caching.Cache();
Response.Write(System.Web.HttpRuntime.Cache.Get("cache_test").ToString());
Response.Write(Page.Cache.Get("cache_test").ToString());
Response.Write(this.Cache.Get("cache_test").ToString());
Response.Write(cache.Get("cache_test").ToString());

cache.Insert("cache_test", "System.Web.Caching.Cache success.<br/>", null, DateTime.Now.AddSeconds(5), System.Web.Caching.Cache.NoSlidingExpiration);
Response.Write(System.Web.HttpRuntime.Cache.Get("cache_test").ToString());
Response.Write(Page.Cache.Get("cache_test").ToString());
Response.Write(this.Cache.Get("cache_test").ToString());
Response.Write(cache.Get("cache_test").ToString());

//對象引用對於非靜態的字段、方法或屬性「Cache.Insert(...)」是必需的
//System.Web.Caching.Cache.Insert("cache_test", "System.Web.Caching.Cache success.", null, DateTime.Now.AddSeconds(5), System.Web.Caching.Cache.NoSlidingExpiration);
//對象引用對於非靜態的、方法或屬性「Cache.Get(...)」是必需的
//Response.Write(System.Web.Caching.Cache.Get("cache_test").ToString());

由於建立的 Web 窗體會默認繼承自 System.Web.UI.Page,因此可以直接使用 Page 類提供的公開成員 Cache;System.Web.HttpRuntime.Cache 是靜態類,也可以直接使用;就只有 System.Web.Caching.Cache 須要實例化後使用。 最終的輸出結果以下:this

System.Web.HttpRuntime.Cache success.
System.Web.HttpRuntime.Cache success.
System.Web.HttpRuntime.Cache success.
System.Web.HttpRuntime.Cache success.
System.Web.Caching.Cache success.
System.Web.Caching.Cache success.
System.Web.Caching.Cache success.
System.Web.Caching.Cache success.code

相關環境:
.NET Framework 4.0對象

相關文章
相關標籤/搜索