MemoryCache.Set 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將快取條目插入快取。
多載
| 名稱 | Description |
|---|---|
| Set(CacheItem, CacheItemPolicy) |
透過使用 CacheItem 實例提供快取條目的鍵與值,插入快取項目。 |
| Set(String, Object, DateTimeOffset, String) |
使用索引鍵和值將快取專案插入快取中,並指定以時間為基礎的到期詳細數據。 |
| Set(String, Object, CacheItemPolicy, String) |
使用索引鍵和值和收回,將快取專案插入快取中。 |
備註
若指定的條目不存在,則會建立該條目。 若指定的條目存在,則會更新。
Set(CacheItem, CacheItemPolicy)
透過使用 CacheItem 實例提供快取條目的鍵與值,插入快取項目。
public:
override void Set(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override void Set(System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.Set : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> unit
Public Overrides Sub Set (item As CacheItem, policy As CacheItemPolicy)
參數
- item
- CacheItem
一個代表要插入快取項目的物件。
- policy
- CacheItemPolicy
一個包含快取項目驅逐細節的物件。 這個物件提供了比單純絕對淘汰更多的淘汰選項。
例外狀況
傳遞了一個無效的快取參數組合。 若快取項目的政策物件設定以下到期細節,則會發生:
如果物件的CacheItemPolicy絕對與滑動過期值都設定為非 和 NoSlidingExpiration 欄位預設值InfiniteAbsoluteExpiration, 類別 MemoryCache 無法根據絕對到期和滑動到期來設定到期政策。 使用該 MemoryCache 類別時,只能明確設定一個到期時間設定。 另一個設定必須設為 InfiniteAbsoluteExpiration 或 NoSlidingExpiration 屬性。
如果物件同時指定 CacheItemPolicy 移除回調和更新回調, 這個 MemoryCache 類別只支援每個快取項目使用一種回調方式。
屬性 SlidingExpiration 設定為小於 Zero的值。
-或者-
SlidingExpiration該房產的價值設定超過一年。
-或者-
這 Priority 不是列舉的值 CacheItemPriority 。
備註
與其他方法超載一樣 Set , Set 該方法總是將快取值放入快取,無論是否已有相同鍵數的條目存在。 如果指定的快取項目不存在,則會插入新的快取項目。 若指定的條目已存在,則其值會被更新。
適用於
Set(String, Object, DateTimeOffset, String)
使用索引鍵和值將快取專案插入快取中,並指定以時間為基礎的到期詳細數據。
public override void Set(string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.Set : string * obj * DateTimeOffset * string -> unit
Public Overrides Sub Set (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing)
參數
- key
- String
一個用於插入快取條目的唯一識別碼。
- value
- Object
快取資料。
- absoluteExpiration
- DateTimeOffset
快取條目到期的固定日期與時間。
- regionName
- String
快取中可新增快取條目的指定區域。 不要傳遞該參數的值。 這個參數是 null 預設的,因為該 MemoryCache 類別不實作區域。
例外狀況
regionName 不是 null。
傳遞了一個無效的快取參數組合。 若快取項目的政策物件設定以下到期細節,則會發生:
如果物件的 CacheItemPolicy 絕對值和滑動到期值都設定為非預設值和 InfiniteAbsoluteExpirationNoSlidingExpiration的值。 這是因為該 MemoryCache 類別不支援基於絕對及滑動到期的過期條目。 使用該 MemoryCache 類別時,只能明確設定一個到期時間設定。 另一個設定必須設為 InfiniteAbsoluteExpiration 或 NoSlidingExpiration。
如果物件上同時指定 CacheItemPolicy 移除回調和更新回調, 這個 MemoryCache 類別只支援每個快取項目使用一種回調方式。
屬性 SlidingExpiration 設定為小於 Zero的值。
-或者-
SlidingExpiration該房產的價值設定超過一年。
-或者-
- 該 Priority 財產並非列舉的價值 CacheItemPriority 。
備註
與其他方法超載一樣 Set , Set 該方法總是將快取值放入快取,無論是否有相同鍵的條目存在。 若指定的條目不存在,則會插入新的快取條目。 若指定的條目存在,則會更新。
參數 absoluteExpiration 指示何時應從快取中移除該條目。
移除一個條目會觸發所有相關的變更監控器。 如果被移除的項目與某個 CacheItemUpdateCallback 物件 CacheItemRemovedCallback 或物件相關聯,則傳遞給回調的移除原因包含在屬性中 Removed 。
適用於
Set(String, Object, CacheItemPolicy, String)
使用索引鍵和值和收回,將快取專案插入快取中。
public override void Set(string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.Set : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> unit
Public Overrides Sub Set (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing)
參數
- key
- String
一個用於插入快取條目的唯一識別碼。
- value
- Object
快取資料。
- policy
- CacheItemPolicy
一個包含快取項目驅逐細節的物件。 這個物件提供了比單純絕對淘汰更多的淘汰選項。
- regionName
- String
快取中可新增快取條目的指定區域。 不要傳遞該參數的值。 這個參數是 null 預設的,因為該 MemoryCache 類別不實作區域。
例外狀況
快取條目存在無效的參數組合。 若快取項目的政策物件設定以下到期細節,則會發生:
如果物件的 CacheItemPolicy 絕對值和滑動到期值都設定為非預設值和 InfiniteAbsoluteExpirationNoSlidingExpiration的值。 這是因為該 MemoryCache 類別不支援基於絕對期限與滑動到期的過期條目。 使用該 MemoryCache 類別時,只能明確設定一個到期時間設定。 另一個設定必須設為 InfiniteAbsoluteExpiration 或 NoSlidingExpiration。
如果類別中同時指定 CacheItemPolicy 移除回調和更新回調。 這個 MemoryCache 類別只支援每個快取項目使用一種回調方式。
屬性 SlidingExpiration 設定為小於 Zero的值。
-或者-
SlidingExpiration該房產的價值設定超過一年。
-或者-
該 Priority 財產並非列舉的價值 CacheItemPriority 。
regionName 不是 null。
備註
與其他方法超載一樣 Set , Set 該方法總是將快取值放入快取,無論是否已有匹配的條目。 如果指定的快取項目不存在,則會插入新的快取項目。 若指定的條目存在,則會更新。
移除一個條目會觸發所有相關的變更監控器。 如果被移除的項目與某個 CacheItemUpdateCallback 物件 CacheItemRemovedCallback 或物件相關聯,則傳遞給回調的移除原因包含在屬性中 Removed 。