Cache.Add 方法

定義

使用相依性、期限和優先權原則,將指定項目加入 Cache 物件,並且您也可以從 Cache 移除插入項目時使用委派 (Delegate) 來告知您的應用程式。

public:
 System::Object ^ Add(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public object Add (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Add : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> obj
Public Function Add (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, priority As CacheItemPriority, onRemoveCallback As CacheItemRemovedCallback) As Object

參數

key
String

用來參考項目的快取索引鍵。

value
Object

加入至快取的項目。

dependencies
CacheDependency

項目的檔案或快取索引鍵相依性。 任何相依性變更時,物件會變成無效並從快取中移除。 如果沒有相依性,這個參數就會包含 null

absoluteExpiration
DateTime

新增的物件過期並從快取中移除的時間。 如果您使用 Sliding Expiration,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration

slidingExpiration
TimeSpan

上次存取加入物件的時間與該物件到期的時間之間隔。 如果這個值等於二十分鐘,那麼物件會在最後存取的二十分鐘後過期,並從快取中移除。 如果您是使用 Absolute Expiration,則 slidingExpiration 參數必須為 NoSlidingExpiration

priority
CacheItemPriority

物件的相對花費,如 CacheItemPriority 列舉型別所示。 在其清除物件時,快取會使用這個值;花費較低的物件會在花費較高的物件之前從快取移除。

onRemoveCallback
CacheItemRemovedCallback

當物件從快取移除時,會呼叫委派 (如果有提供的話)。 您可以使用這個在它們的物件從快取刪除時告知應用程式。

傳回

如果加入的項目先前已儲存在快取中,則為表示此項目的物件,否則為 null

例外狀況

keyvalue 參數是設定為 null

slidingExpiration 參數設定為小於 TimeSpan.Zero 或多於一年。

您要為 Cache 加入的項目都會設定 absoluteExpirationslidingExpiration 參數。

範例

下列範例會 AddItemToCache 建立 方法。 呼叫這個方法時,它會將 屬性設定 itemRemovedfalse ,並使用委派的新實例 CacheItemRemovedCallback 註冊 onRemove 方法。 委派的簽章用於 RemovedCallback 方法中。 方法 AddItemToCache 接著會檢查與快取中索引鍵相關聯的 Key1 值。 如果值為 null ,則方法會將 Add 專案放在快取中,其索引鍵 Key1 為 、值為 Value 1 、絕對到期為 60 秒,以及高快取優先順序。 它也會使用 onRemove 方法作為引數。 這可讓 RemovedCallback 從快取中移除此專案時呼叫 方法。

注意

如需如何使用 類別和 CacheItemRemovedCallback 委派的 CacheDependency 範例,請參閱快取應用程式資料

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), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
Public Sub AddItemToCache(sender As Object, e As EventArgs)
    itemRemoved = false

    onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

    If (IsNothing(Cache("Key1"))) Then
      Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
    End If
End Sub

備註

如果具有相同 key 參數的專案已經儲存在 中 Cache ,則呼叫這個方法會以無訊息方式失敗。 若要使用相同的 key 參數覆寫現有的 Cache 專案,請使用 Insert 方法。

您無法同時 absoluteExpiration 設定 和 slidingExpiration 參數。 如果您想要在特定時間到期快取專案,請將 參數設定為特定時間,並將 slidingExpiration 參數設定 absoluteExpirationNoSlidingExpiration

如果您希望快取專案在上次存取專案之後經過一段時間之後到期,請將 參數設定為到期間隔,並將 absoluteExpiration 參數設定 slidingExpirationNoAbsoluteExpiration

適用於

另請參閱