Cache.Insert 方法

定義

將物品插入物件 Cache 中。 使用此方法的其中一個版本來覆蓋一個參數相同且已Cache存在key的項目。

多載

名稱 Description
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

將物件插入 Cache 物件,並附有相依關係、到期與優先權政策,並有一個代理,你可以用來通知應用程式中插入的項目何時從 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 此參數值。 如果你使用絕對到期 slidingExpiration ,參數必須是 NoSlidingExpiration

slidingExpiration
TimeSpan

插入物件最後被存取的時間與該物件過期的時間之間的間隔。 如果這個值等於 20 分鐘,該物件會在最後一次存取後 20 分鐘內失效並從快取中移除。 如果你使用滑動到期 absoluteExpiration ,參數必須是 NoAbsoluteExpiration

priority
CacheItemPriority

物件相對於快取中其他項目的成本,依列 CacheItemPriority 舉方式表示。 快取在驅逐物件時會使用此值;成本較低的物件會先從快取中移除,優先於成本較高的物件。

onRemoveCallback
CacheItemRemovedCallback

如果提供代理,當物件從快取移除時會被呼叫。 你可以用這個方法通知應用程式當其物件從快取中被刪除時。

例外狀況

keyvalue參數為 null

你設定 slidingExpiration 參數為少 TimeSpan.Zero 於或等同於超過一年的年份。

absoluteExpirationslidingExpiration參數都設定在你想加入Cache的項目中。

範例

以下範例示範如何在將項目插入 Cache 應用程式物件時,將其指定為高優先權。

Note

關於如何與 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)

備註

此方法會覆蓋一個具有相同Cache參數的現有key項目。

你無法同時設定 absoluteExpirationslidingExpiration 參數。 如果你打算快取項目在特定時間到期,你就把參數設 absoluteExpiration 為特定時間, slidingExpiration 參數設為 NoSlidingExpiration

如果你打算快取項目在上次存取後過期一段時間後,你就將參數設slidingExpiration為過期區間,參數absoluteExpirationNoAbsoluteExpiration設為 。

另請參閱

適用於

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

插入物件到期並從快取中移除的時間點。 為避免當地時間可能出現的問題,例如標準時間改為夏令時間,請使用此UtcNowNow參數值 代替。 若使用絕對失效 slidingExpiration ,參數必須設為 NoSlidingExpiration

slidingExpiration
TimeSpan

快取物件最後被存取的時間點與該物件過期的時間之間的間隔。 如果這個值等於 20 分鐘,該物件會在最後一次存取後 20 分鐘內失效並從快取中移除。 如果你使用滑動到期, absoluteExpiration 參數必須設為 NoAbsoluteExpiration

onUpdateCallback
CacheItemUpdateCallback

一個代理檔,會在物件從快取中移除前被呼叫。 你可以用這個方法更新快取項目,確保它不會從快取中移除。

例外狀況

參數 key, , , 為 valueonUpdateCallbacknull

你設定 slidingExpiration 參數為少 TimeSpan.Zero 於或等同於超過一年的年份。

absoluteExpirationslidingExpiration參數都設定在你想加入Cache的項目中。

-或-

參數dependenciesnullabsoluteExpiration參數設為 NoAbsoluteExpiration,參數為 slidingExpirationNoSlidingExpiration

備註

Insert 方法允許你在快取中插入新項目,並提供一個代理,該代理在該項目從快取中移除前會被呼叫。 在代理中,你可以更新快取項目,從而防止它從快取中被移除。

此方法會覆蓋一個具有相同Cache參數的現有key項目。

你無法同時設定 absoluteExpirationslidingExpiration 參數。 如果你打算快取項目在特定時間到期,你就把參數設 absoluteExpiration 為特定時間, slidingExpiration 參數設為 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

例外狀況

keyvalue參數為 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

要插入快取的物件。

例外狀況

keyvalue參數為 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 此參數值。 如果你使用絕對到期 slidingExpiration ,參數必須是 NoSlidingExpiration

slidingExpiration
TimeSpan

插入物件最後被存取的時間點與該物件到期時間之間的間隔。 如果這個值等於 20 分鐘,該物件會在最後一次存取後 20 分鐘內失效並從快取中移除。 如果你使用滑動到期 absoluteExpiration ,參數必須是 NoAbsoluteExpiration

例外狀況

keyvalue參數為 null

你設定 slidingExpiration 參數為少 TimeSpan.Zero 於或等同於超過一年的年份。

absoluteExpirationslidingExpiration參數都設定在你想加入Cache的項目中。

範例

以下範例示範如何將項目插入應用程式快取且有絕對到期。

Note

由於這種形式的 Insert 方法支援快取相依,若項目沒有相依,必須在逗號分隔參數列表中宣告 dependency 參數為 nullNothing Visual Basic)。

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))

備註

此方法會覆蓋一個具有相同Cache參數的現有key項目。

slidingExpiration 參數設為 NoSlidingExpiration,滑動過期將被禁用。 如果你將參數設 slidingExpiration 為大於 Zero,則 absoluteExpiration 參數設為 Now 加上該參數中包含的 slidingExpiration 值。 如果在參數指定 absoluteExpiration 時間內就向快取請求該項目,該項目會再次被放入快取,並 absoluteExpiration 再次設定為 DateTime.Now 參數中包含的 slidingExpiration 值加。 若在參數日期 absoluteExpiration 前未請求該項目,該項目將從快取中移除。 使用此插入方法的超載加入快取的項目,優先權為 Default

另請參閱

適用於