ASP.NET 2.0(C#)中System.Web.Caching的應用
1、嚮應用程式的添加緩衝
public void Insert (string key,Object value,CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration)
參數
-
key
-
用於引用該對象的緩衝鍵。
-
value
-
要插入緩衝中的對象。
-
dependencies
-
所插入對象的檔案依賴項或緩衝鍵依賴項。當任何依賴項更改時,該對象即無效,並從緩衝中移除。如果沒有依賴項,
則此參數包含 Null 參考(在 Visual Basic 中為 Nothing)。
-
absoluteExpiration
-
所插入對象將到期並被從緩衝中移除的時間。如果使用絕對到期,則 slidingExpiration 參數必須為 NoSlidingExpiration。
-
slidingExpiration
-
最後一次訪問所插入對象時與該對象到期時之間的時間間隔。如果該值等效於 20 分鐘,則對象在最後一次被訪問 20 分鐘
之後將到期並被從緩衝中移除。如果使用可調到期,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration。
ds = db.ExecuteDataSet(dbCommand);//插入緩衝中的bject
Cache cache = System.Web.HttpContext.Current.Cache;
object oProvider = cache.Get(cachekey);
//嚮應用程式的緩衝中插入具有絕對到期的項
cache.Insert(cachekey, ds, null, DateTime.Now.AddMinutes(30),TimeSpan.Zero);
cache.Insert(cachekey, ds, null, DateTime.Now.AddMinutes(30),Cache.NoSlidingExpiration);
//向緩衝中插入具有可調整到期的項
cache.Insert(cachekey, ds, null, DateTime.MaxValue, TimeSpan.FromMinutes(30));
cache.Insert(cachekey, ds, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(30));
public Object Add (string key,Object value,CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration,CacheItemPriority priority,CacheItemRemovedCallback onRemoveCallback
參數
-
key
-
用於引用該項的緩衝鍵。
-
value
-
要添加到緩衝的項。
-
dependencies
-
該項的檔案依賴項或緩衝鍵依賴項。當任何依賴項更改時,該對象即無效,並從緩衝中移除。如果沒有依賴項,則此參數包含
Null 參考(在 Visual Basic 中為 Nothing)。
-
absoluteExpiration
-
所添加對象將到期並被從緩衝中移除的時間。如果使用可調到期,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration。
-
slidingExpiration
-
最後一次訪問所添加對象時與該對象到期時之間的時間間隔。如果該值等效於 20 分鐘,則對象在最後一次被訪問 20 分鐘之後
將到期並從緩衝中移除。如果使用絕對到期,則 slidingExpiration 參數必須為 NoSlidingExpiration。
-
priority
-
對象的相對成本,由 CacheItemPriority 枚舉表示。緩衝在退出對象時使用該值;具有較低成本的對象在具有較高成本的對象之前
被從緩衝移除。
-
onRemoveCallback
-
在從緩衝中移除對象時所調用的委託(如果提供)。當從緩衝中刪除應用程式的對象時,可使用它來通知應用程式。
public void AddItemToCache(Object sender, EventArgs e) {itemRemoved = false;onRemove = new CacheItemRemovedCallback(this.RemovedCallback);if (Cache["Key1"] == null)Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);}
2.清除緩衝
Cache.Remove(cacheKey);