System.Web.Caching 命名空間提供用於快取服務器上常用資料的類。此命名空間包括 Cache 類,該類是一個字典,您可以在其中儲存任意資料對象,如雜湊表和資料集。它還為這些對象提供了失效功能,並為您提供了添加和移除這些對象的方法。您還可以添加依賴於其他檔案或快取項目的對象,並在從 Cache 對象中移除對象時執行回調以通知應用程式。
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Default4 : System.Web.UI.Page{ /// <summary> /// 擷取當前應用程式指定CacheKey的Cache對象值 /// </summary> /// <param name="CacheKey">索引索引值</param> /// <returns>返回緩衝對象</returns> public static object GetCache(string CacheKey) { System.Web.Caching.Cache objCache = HttpRuntime.Cache; return objCache[CacheKey]; } /// <summary> /// 設定當前應用程式指定CacheKey的Cache對象值 /// </summary> /// <param name="CacheKey">索引索引值</param> /// <param name="objObject">緩衝對象</param> public static void SetCache(string CacheKey, object objObject) { System.Web.Caching.Cache objCache = HttpRuntime.Cache; objCache.Insert(CacheKey, objObject); } /// <summary> /// 設定當前應用程式指定CacheKey的Cache對象值 /// </summary> /// <param name="CacheKey">索引索引值</param> /// <param name="objObject">緩衝對象</param> /// <param name="absoluteExpiration">絕對到期時間</param> /// <param name="slidingExpiration">最後一次訪問所插入對象時與該對象到期時之間的時間間隔</param> public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration) { System.Web.Caching.Cache objCache = HttpRuntime.Cache; objCache.Insert(CacheKey, objObject, null, absoluteExpiration, slidingExpiration); } protected void Page_Load(object sender, EventArgs e) { string CacheKey = "cachetest"; object objModel = GetCache(CacheKey); //從緩衝中擷取 if (objModel == null)//緩衝裡沒有 { objModel = DateTime.Now; //把目前時間進行緩衝 if (objModel != null) { int CacheTime = 30; //緩衝時間30秒 SetCache(CacheKey, objModel, DateTime.Now.AddSeconds(CacheTime), TimeSpan.Zero); //寫入緩衝 } } Label1.Text = objModel.ToString(); }}