MemoryCache.AddOrGetExisting 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將快取條目插入快取。
多載
| 名稱 | Description |
|---|---|
| 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
例外狀況
IsEditable 屬性為 true。
物件的絕對與滑動到期值CacheItemPolicy皆設定為 和 NoSlidingExpiration 欄位的預設InfiniteAbsoluteExpiration值以外的值。 該 MemoryCache 類別無法根據絕對到期與滑動到期的組合來設定到期政策。 使用實 MemoryCache 例時,只能明確設定一個到期時間設定。 另一個到期設定必須設為 InfiniteAbsoluteExpiration field 或 NoSlidingExpiration field。
屬性 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皆設定為 和 NoSlidingExpiration 欄位的預設InfiniteAbsoluteExpiration值以外的值。 該 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 絕對與滑動到期值皆設定為非預設值與 InfiniteAbsoluteExpirationNoSlidingExpiration的值。 該 MemoryCache 類別無法根據絕對到期與滑動到期的組合來設定到期政策。 使用該 MemoryCache 類別時,只能明確設定一個到期時間設定。 另一個設定必須設為 InfiniteAbsoluteExpiration 或 NoSlidingExpiration。
-或-
移除回調與更新回調均已指定為 CacheItemPolicy。 MemoryCache唯一支援每個快取項目使用一種回調方式。
屬性 SlidingExpiration 設定為小於 Zero的值。
-或-
該價值 SlidingExpiration 被設定為超過一年的金額。
-或-
該 Priority 財產並非列舉的價值 CacheItemPriority 。
備註
警告
Add和 AddOrGetExisting 方法的超載不支援該UpdateCallback性質。 因此,若要設定快取項目的 UpdateCallback 屬性,請改用 Set 方法過載。