MemoryCache.AddOrGetExisting 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將快取項目插入快取區中。
多載
AddOrGetExisting(CacheItem, CacheItemPolicy) |
使用指定的 CacheItem 執行個體和有關如何收回項目的詳細資料,在快取中加入快取項目。 |
AddOrGetExisting(String, Object, DateTimeOffset, String) |
使用指定索引鍵、值和絕對逾期值,在快取區中插入快取項目。 |
AddOrGetExisting(String, Object, CacheItemPolicy, String) |
使用指定的索引鍵、值和有關如何收回快取項目的指定詳細資料,在快取區中插入快取項目。 |
備註
方法 AddOrGetExisting 多載可用來將快取專案插入快取中。 如果具有相符索引鍵的快取專案不存在,這些方法會插入新的專案。 如果具有相符索引鍵的快取專案已經存在,則會傳回現有的專案。
AddOrGetExisting(CacheItem, CacheItemPolicy)
使用指定的 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 物件的絕對和滑動期限值都會設定為不同於 InfiniteAbsoluteExpiration 和 NoSlidingExpiration 欄位之預設值的值。 MemoryCache 類別不能根據絕對期限和滑動期限的組合來設定到期原則。 當您使用 MemoryCache 執行個體時,只能明確設定一項到期設定。 其他到期設定必須設定為 InfiniteAbsoluteExpiration 欄位或 NoSlidingExpiration 欄位。
SlidingExpiration 屬性設定為小於 Zero 的值。
-或-
SlidingExpiration 屬性設定為大於一年的値。
-或-
Priority 屬性不是 CacheItemPriority 列舉的值。
備註
參數 item
會提供 方法所使用的索引鍵和值。 如果快取具有與 參數索引 item
鍵相同的索引鍵的快取專案,此方法會將現有的專案傳回為 CacheItem 實例。 如果沒有現有的快取專案,方法會使用 參數提供的 item
索引鍵和值,以及 指定的 policy
收回詳細數據,建立新的快取專案。
警告
Add 和 AddOrGetExisting 方法多載不支援 UpdateCallback 屬性。 因此,若為快取項目設定 UpdateCallback 屬性,請改用 Set 方法多載。
適用於
AddOrGetExisting(String, Object, DateTimeOffset, String)
使用指定索引鍵、值和絕對逾期值,在快取區中插入快取項目。
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 物件的絕對和滑動期限值都會設定為不同於 InfiniteAbsoluteExpiration 和 NoSlidingExpiration 欄位之預設值的值。 MemoryCache 類別不能根據絕對期限和滑動期限的組合來設定到期原則。 當您使用 MemoryCache 執行個體時,只能明確設定一項到期設定。 將其他到期設定必須設為 InfiniteAbsoluteExpiration 或 NoSlidingExpiration
SlidingExpiration 屬性設定為小於 Zero 的值。
-或-
SlidingExpiration 屬性設定為大於一年的値。
-或-
Priority 屬性不是 CacheItemPriority 列舉的值。
備註
如果快取沒有索引鍵符合 key
參數的快取專案,則會建立新的快取專案,而且 MemoryCache.AddOrGetExisting 方法多載會傳 null
回 。 如果存在相符的快取專案,則會傳回現有的專案。
警告
Add 和 AddOrGetExisting 方法多載不支援 UpdateCallback 屬性。 因此,若為快取項目設定 UpdateCallback 屬性,請改用 Set 方法多載。
適用於
AddOrGetExisting(String, Object, CacheItemPolicy, String)
使用指定的索引鍵、值和有關如何收回快取項目的指定詳細資料,在快取區中插入快取項目。
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
。
例外狀況
value
為 null
。
CacheItemPolicy 物件的絕對和滑動期限值都會設定為不同於 InfiniteAbsoluteExpiration 和 NoSlidingExpiration 欄位之預設值的值。 MemoryCache 類別不能根據絕對期限和滑動期限兩者的組合來設定到期原則。 當您使用 MemoryCache 類別時,只能明確設定一個到期設定。 其他設定必須設定為 InfiniteAbsoluteExpiration 或 NoSlidingExpiration。
-或-
已經對 CacheItemPolicy 指定移除回呼和更新回呼兩者。 MemoryCache 只支援對每個快取項目使用一種回呼。
SlidingExpiration 屬性設定為小於 Zero 的值。
-或-
SlidingExpiration 已設定為大於一年的值。
-或-
Priority 屬性不是 CacheItemPriority 列舉的值。
備註
警告
Add 和 AddOrGetExisting 方法多載不支援 UpdateCallback 屬性。 因此,若為快取項目設定 UpdateCallback 屬性,請改用 Set 方法多載。