共用方式為


MemoryCache.AddOrGetExisting 方法

定義

將快取項目插入快取區中。

多載

AddOrGetExisting(CacheItem, CacheItemPolicy)

使用指定的 CacheItem 執行個體和有關如何收回項目的詳細資料,在快取中加入快取項目。

AddOrGetExisting(String, Object, DateTimeOffset, String)

使用指定索引鍵、值和絕對逾期值,在快取區中插入快取項目。

AddOrGetExisting(String, Object, CacheItemPolicy, String)

使用指定的索引鍵、值和有關如何收回快取項目的指定詳細資料,在快取區中插入快取項目。

備註

方法 AddOrGetExisting 多載可用來將快取專案插入快取中。 如果具有相符索引鍵的快取專案不存在,這些方法會插入新的專案。 如果具有相符索引鍵的快取專案已經存在,則會傳回現有的專案。

AddOrGetExisting(CacheItem, CacheItemPolicy)

來源:
MemoryCache.cs
來源:
MemoryCache.cs

使用指定的 CacheItem 執行個體和有關如何收回項目的詳細資料,在快取中加入快取項目。

public:
 override System::Runtime::Caching::CacheItem ^ AddOrGetExisting(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override System.Runtime.Caching.CacheItem AddOrGetExisting (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.AddOrGetExisting : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> System.Runtime.Caching.CacheItem
Public Overrides Function AddOrGetExisting (item As CacheItem, policy As CacheItemPolicy) As CacheItem

參數

item
CacheItem

要加入的物件。

policy
CacheItemPolicy

物件,包含快取項目的收回詳細資料。 這個物件提供的收回選項比簡單絕對期限要多。

傳回

如果存在具有相同索引鍵的快取項目,則為現有的快取項目,否則為 null

例外狀況

Value 屬性為 null

CacheItemPolicy 物件的絕對和滑動期限值都會設定為不同於 InfiniteAbsoluteExpirationNoSlidingExpiration 欄位之預設值的值。 MemoryCache 類別不能根據絕對期限和滑動期限的組合來設定到期原則。 當您使用 MemoryCache 執行個體時,只能明確設定一項到期設定。 其他到期設定必須設定為 InfiniteAbsoluteExpiration 欄位或 NoSlidingExpiration 欄位。

SlidingExpiration 屬性設定為小於 Zero 的值。

-或-

SlidingExpiration 屬性設定為大於一年的値。

-或-

Priority 屬性不是 CacheItemPriority 列舉的值。

備註

參數 item 會提供 方法所使用的索引鍵和值。 如果快取具有與 參數索引 item 鍵相同的索引鍵的快取專案,此方法會將現有的專案傳回為 CacheItem 實例。 如果沒有現有的快取專案,方法會使用 參數提供的 item 索引鍵和值,以及 指定的 policy收回詳細數據,建立新的快取專案。

警告

AddAddOrGetExisting 方法多載不支援 UpdateCallback 屬性。 因此,若為快取項目設定 UpdateCallback 屬性,請改用 Set 方法多載。

適用於

AddOrGetExisting(String, Object, DateTimeOffset, String)

來源:
MemoryCache.cs
來源:
MemoryCache.cs

使用指定索引鍵、值和絕對逾期值,在快取區中插入快取項目。

public override object AddOrGetExisting (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.AddOrGetExisting : string * obj * DateTimeOffset * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing) As Object

參數

key
String

要加入之快取項目的唯一識別項。

value
Object

快取項目的資料。

absoluteExpiration
DateTimeOffset

快取項目到期的固定日期和時間。

regionName
String

快取區中的具名區域,快取項目可以加入至這個區域。 請勿傳遞這個參數的值。 這個參數預設為 null,因為 MemoryCache 類別沒有實作區域。

傳回

如果存在具有相同索引鍵的快取項目,則為現有的快取項目,否則為 null

例外狀況

value 不是 null

regionName 不是 null

CacheItemPolicy 物件的絕對和滑動期限值都會設定為不同於 InfiniteAbsoluteExpirationNoSlidingExpiration 欄位之預設值的值。 MemoryCache 類別不能根據絕對期限和滑動期限的組合來設定到期原則。 當您使用 MemoryCache 執行個體時,只能明確設定一項到期設定。 將其他到期設定必須設為 InfiniteAbsoluteExpirationNoSlidingExpiration

SlidingExpiration 屬性設定為小於 Zero 的值。

-或-

SlidingExpiration 屬性設定為大於一年的値。

-或-

Priority 屬性不是 CacheItemPriority 列舉的值。

備註

如果快取沒有索引鍵符合 key 參數的快取專案,則會建立新的快取專案,而且 MemoryCache.AddOrGetExisting 方法多載會傳 null回 。 如果存在相符的快取專案,則會傳回現有的專案。

警告

AddAddOrGetExisting 方法多載不支援 UpdateCallback 屬性。 因此,若為快取項目設定 UpdateCallback 屬性,請改用 Set 方法多載。

適用於

AddOrGetExisting(String, Object, CacheItemPolicy, String)

來源:
MemoryCache.cs
來源:
MemoryCache.cs

使用指定的索引鍵、值和有關如何收回快取項目的指定詳細資料,在快取區中插入快取項目。

public override object AddOrGetExisting (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.AddOrGetExisting : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing) As Object

參數

key
String

要加入或取得之快取項目的唯一識別項。

value
Object

快取項目的資料。

policy
CacheItemPolicy

物件,包含快取項目的收回詳細資料。 這個物件提供的收回選項比簡單絕對期限要多。

regionName
String

快取區中的具名區域,快取項目可以加入至這個區域。 請勿傳遞這個參數的值。 這個參數預設為 null,因為 MemoryCache 類別沒有實作區域。

傳回

如果符合的快取項目已經存在,則為快取項目,否則為 null

例外狀況

valuenull

CacheItemPolicy 物件的絕對和滑動期限值都會設定為不同於 InfiniteAbsoluteExpirationNoSlidingExpiration 欄位之預設值的值。 MemoryCache 類別不能根據絕對期限和滑動期限兩者的組合來設定到期原則。 當您使用 MemoryCache 類別時,只能明確設定一個到期設定。 其他設定必須設定為 InfiniteAbsoluteExpirationNoSlidingExpiration

-或-

已經對 CacheItemPolicy 指定移除回呼和更新回呼兩者。 MemoryCache 只支援對每個快取項目使用一種回呼。

SlidingExpiration 屬性設定為小於 Zero 的值。

-或-

SlidingExpiration 已設定為大於一年的值。

-或-

Priority 屬性不是 CacheItemPriority 列舉的值。

備註

警告

AddAddOrGetExisting 方法多載不支援 UpdateCallback 屬性。 因此,若為快取項目設定 UpdateCallback 屬性,請改用 Set 方法多載。

適用於