Cache.Insert 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
插入項目至 Cache 物件。 使用這個方法的其中一個版本以相同 key
參數來覆寫現有 Cache
項目。
多載
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
使用相依性、期限和優先權原則,將指定項目插入 Cache 物件,並且您也可以從 |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
從快取區移除項目之前,將物件連同相依性、期限原則及可用來通知應用程式的委派一併插入 Cache 物件中。 |
Insert(String, Object, CacheDependency) |
將物件插入至有檔案或索引鍵相依性的 Cache。 |
Insert(String, Object) |
使用 Cache 列舉型別所提供的預設值,將項目插入 CacheItemPriority 物件,並讓快取索引鍵參考其位置。 |
Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
使用相依性和期限原則將物件插入 Cache。 |
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)
使用相依性、期限和優先權原則,將指定項目插入 Cache 物件,並且您也可以從 Cache
移除插入項目時使用委派來告知您的應用程式。
public:
void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public void Insert (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Insert : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, priority As CacheItemPriority, onRemoveCallback As CacheItemRemovedCallback)
參數
- key
- String
用來參考物件的快取索引鍵。
- value
- Object
要插入至快取的物件。
- dependencies
- CacheDependency
項目的檔案或快取索引鍵相依性。 任何相依性變更時,物件會變成無效並從快取中移除。 如果沒有相依性,這個參數就會包含 null
。
- absoluteExpiration
- DateTime
插入物件過期並從快取移除的時間。 為避免當地時間發生問題 (例如,從標準時間變更為日光節約時間),請使用 UtcNow 而非 Now 做為這個參數值。 如果您是使用 Absolute Expiration,則 slidingExpiration
參數必須為 NoSlidingExpiration。
- slidingExpiration
- TimeSpan
上次存取插入物件的時間與該物件到期的時間之間隔。 如果此值相當於 20 分鐘,物件將會到期,而且會從上次存取之後的 20 分鐘從快取中移除。 如果您使用 Sliding Expiration,則 absoluteExpiration
參數必須為 NoAbsoluteExpiration。
- priority
- CacheItemPriority
與儲存在快取中其他項目相關的物件之花費,如 CacheItemPriority 列舉型別所示。 當快取清除物件時會用到這個值;花費較低的物件會在花費較高的物件之前從快取中移除。
- onRemoveCallback
- CacheItemRemovedCallback
當物件從快取移除時,將會呼叫委派 (如果有提供的話)。 您可以使用這個在它們的物件從快取刪除時告知應用程式。
例外狀況
key
或 value
參數為 null
。
請將 slidingExpiration
參數設定為小於 TimeSpan.Zero
,或等於一年以上。
您要為 Cache
加入的項目都會設定 absoluteExpiration
和 slidingExpiration
參數。
範例
下列範例示範當您將專案插入應用程式 Cache
的物件時,如何指派高優先順序的專案。
注意
如需如何搭配 CacheItemRemovedCallback 委派使用此方法的詳細資訊,請參閱 如何:在快取中移除專案時通知應用程式。
Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero, CacheItemPriority.High, onRemove);
Cache.Insert("DSN", connectionString, Nothing, DateTime.Now.AddMinutes(2), TimeSpan.Zero, CacheItemPriority.High, onRemove)
備註
這個方法會以相同的key
參數覆寫現有的Cache
專案。
您無法同時 absoluteExpiration
設定 和 slidingExpiration
參數。 如果您要在特定時間到期快取專案,請將 參數設定為特定時間,並將 slidingExpiration
參數設定absoluteExpiration
為 NoSlidingExpiration。
如果您希望快取專案在上次存取項目之後經過一段時間之後到期,請將 參數設定為到期間隔,並將 absoluteExpiration
參數設定slidingExpiration
為 NoAbsoluteExpiration。
另請參閱
適用於
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)
從快取區移除項目之前,將物件連同相依性、期限原則及可用來通知應用程式的委派一併插入 Cache 物件中。
public:
void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemUpdateCallback ^ onUpdateCallback);
public void Insert (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemUpdateCallback onUpdateCallback);
member this.Insert : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemUpdateCallback -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, onUpdateCallback As CacheItemUpdateCallback)
參數
- key
- String
用來參考物件的快取索引鍵。
- value
- Object
要插入至快取中的物件。
- dependencies
- CacheDependency
項目的檔案或快取索引鍵相依性。 任何相依性變更時,物件會變成無效並從快取中移除。 如果沒有相依性,這個參數就會包含 null
。
- absoluteExpiration
- DateTime
插入物件過期並從快取移除的時間。 為避免當地時間發生問題 (例如,從標準時間變更為日光節約時間),請使用 UtcNow 而非 Now 做為這個參數值。 如果您是使用絕對期限,則 slidingExpiration
參數必須設為 NoSlidingExpiration。
- slidingExpiration
- TimeSpan
上次存取快取物件的時間與該物件到期的時間之間隔。 如果此值相當於 20 分鐘,物件將會到期,而且會從上次存取之後的 20 分鐘從快取中移除。 如果您是使用滑動期限,則 absoluteExpiration
參數必須設為 NoAbsoluteExpiration。
- onUpdateCallback
- CacheItemUpdateCallback
從快取中移除物件之前呼叫的委派。 您可以使用此委派更新快取項目,並且確保該項目不會從快取中移除。
例外狀況
key
、value
或 onUpdateCallback
參數是 null
。
請將 slidingExpiration
參數設定為小於 TimeSpan.Zero
,或等於一年以上。
您要為 Cache
加入的項目都會設定 absoluteExpiration
和 slidingExpiration
參數。
-或-
dependencies
參數為 null
,而且 absoluteExpiration
參數設為 NoAbsoluteExpiration,slidingExpiration
參數則設為 NoSlidingExpiration。
備註
方法 Insert 可讓您在快取中插入新專案,並提供從快取中移除專案之前所呼叫的委派。 在委派中,您可以更新快取的專案,因而防止它從快取中移除。
這個方法會以相同的key
參數覆寫現有的Cache
專案。
您無法同時 absoluteExpiration
設定 和 slidingExpiration
參數。 如果您要在特定時間到期快取專案,請將 參數設定為特定時間,並將 slidingExpiration
參數設定absoluteExpiration
為 NoSlidingExpiration。
如果您希望快取專案在上次存取項目之後的一段時間之後過期,請將 參數設定 slidingExpiration
為到期間隔,並將 參數設定 absoluteExpiration
為 NoAbsoluteExpiration。
另請參閱
適用於
Insert(String, Object, CacheDependency)
將物件插入至有檔案或索引鍵相依性的 Cache。
public:
void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies);
public void Insert (string key, object value, System.Web.Caching.CacheDependency dependencies);
member this.Insert : string * obj * System.Web.Caching.CacheDependency -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency)
參數
- key
- String
用來識別項目的快取索引鍵。
- value
- Object
要插入至快取的物件。
- dependencies
- CacheDependency
插入物件的檔案或快取索引鍵相依性。 任何相依性變更時,物件會變成無效並從快取中移除。 如果沒有相依性,這個參數就會包含 null
。
例外狀況
key
或 value
參數為 null
。
範例
下列範例示範如何將專案插入應用程式快取中,並具有 XML 組態檔的快取相依性。
Cache.Insert("DSN", connectionString, new CacheDependency(Server.MapPath("myconfig.xml")));
Cache.Insert("DSN", connectionString, New CacheDependency(Server.MapPath("myconfig.xml")))
備註
這個方法會覆寫索引鍵符合 key
參數的現有快取專案。 使用 方法的這個多載 Insert
新增至快取的物件,其優先順序 Default為 、滑動到期值 NoSlidingExpiration為 ,以及 絕對 NoAbsoluteExpiration到期值 。
另請參閱
適用於
Insert(String, Object)
使用 Cache 列舉型別所提供的預設值,將項目插入 CacheItemPriority 物件,並讓快取索引鍵參考其位置。
public:
void Insert(System::String ^ key, System::Object ^ value);
public void Insert (string key, object value);
member this.Insert : string * obj -> unit
Public Sub Insert (key As String, value As Object)
參數
- key
- String
用來參考項目的快取索引鍵。
- value
- Object
要插入至快取的物件。
例外狀況
key
或 value
參數為 null
。
範例
下列範例示範如何將專案插入應用程式的快取中。
Cache.Insert("DSN", connectionString);
Cache.Insert("DSN", connectionString)
備註
這個方法會覆寫索引鍵符合 key
參數的現有快取專案。 使用 方法這個多載 Insert
新增至快取的物件不會插入檔案或快取相依性、優先順序為 Default、滑動到期值 為 NoSlidingExpiration,以及 絕對到期值 NoAbsoluteExpiration。
另請參閱
適用於
Insert(String, Object, CacheDependency, DateTime, TimeSpan)
使用相依性和期限原則將物件插入 Cache。
public:
void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration);
public void Insert (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration);
member this.Insert : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan)
參數
- key
- String
用來參考物件的快取索引鍵。
- value
- Object
要插入至快取的物件。
- dependencies
- CacheDependency
插入物件的檔案或快取索引鍵相依性。 任何相依性變更時,物件會變成無效並從快取中移除。 如果沒有相依性,這個參數就會包含 null
。
- absoluteExpiration
- DateTime
插入物件過期並從快取移除的時間。 為避免當地時間發生問題 (例如,從標準時間變更為日光節約時間),請使用 UtcNow 而非 Now 做為這個參數值。 如果您是使用 Absolute Expiration,則 slidingExpiration
參數必須為 NoSlidingExpiration。
- slidingExpiration
- TimeSpan
在上次存取所插入物件的時間以及該物件到期時間之間的間隔。 如果此值相當於 20 分鐘,物件將會到期,而且會從上次存取之後的 20 分鐘從快取中移除。 如果您使用 Sliding Expiration,則 absoluteExpiration
參數必須為 NoAbsoluteExpiration。
例外狀況
key
或 value
參數為 null
。
請將 slidingExpiration
參數設定為小於 TimeSpan.Zero
,或等於一年以上。
您要為 Cache
加入的項目都會設定 absoluteExpiration
和 slidingExpiration
參數。
範例
下列範例示範如何使用絕對到期,將專案插入應用程式的快取中。
注意
由於這個形式的 Insert
方法支援快取相依性,如果項目沒有相依性,您必須在 dependency
以逗號分隔的參數列表中) ,將 參數宣告為 null
(Nothing
。
Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration);
Cache.Insert("DSN", connectionString, Nothing, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration)
下列範例示範如何使用滑動到期將專案插入快取中。
Cache.Insert("DSN", connectionString, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(10));
Cache.Insert("DSN", connectionString, Nothing, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(10))
備註
這個方法會以相同的key
參數覆寫現有的Cache
專案。
slidingExpiration
如果 參數設定為 NoSlidingExpiration,則會停用滑動到期。 如果您將 slidingExpiration
參數設定為大於 Zero,參數 absoluteExpiration
會設定為 Now 加上 參數中包含的 slidingExpiration
值。 如果在參數指定的 absoluteExpiration
時間量之前,從快取要求專案,則會再次將專案放在快取中,並 absoluteExpiration
再次設定為 DateTime.Now
加上 參數中包含的 slidingExpiration
值。 如果在 參數中的 absoluteExpiration
日期之前未從快取要求專案,則會從快取中移除專案。 使用插入方法的這個多載新增至快取的專案會以的優先順序 Default插入。