MemoryCache.Set 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將快取項目插入快取區中。
多載
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都設定為 和欄位預設值InfiniteAbsoluteExpirationNoSlidingExpiration以外的值。 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 。