Cache.Insert 方法

定義

插入項目至 Cache 物件。 使用這個方法的其中一個版本以相同 key 參數來覆寫現有 Cache 項目。

多載

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 做為這個參數值。 如果您是使用 Absolute Expiration,則 slidingExpiration 參數必須為 NoSlidingExpiration

slidingExpiration
TimeSpan

上次存取插入物件的時間與該物件到期的時間之間隔。 如果此值相當於 20 分鐘,物件將會到期,而且會從上次存取之後的 20 分鐘從快取中移除。 如果您使用 Sliding Expiration,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration

priority
CacheItemPriority

與儲存在快取中其他項目相關的物件之花費,如 CacheItemPriority 列舉型別所示。 當快取清除物件時會用到這個值;花費較低的物件會在花費較高的物件之前從快取中移除。

onRemoveCallback
CacheItemRemovedCallback

當物件從快取移除時,將會呼叫委派 (如果有提供的話)。 您可以使用這個在它們的物件從快取刪除時告知應用程式。

例外狀況

keyvalue 參數為 null

請將 slidingExpiration 參數設定為小於 TimeSpan.Zero,或等於一年以上。

您要為 Cache 加入的項目都會設定 absoluteExpirationslidingExpiration 參數。

範例

下列範例示範如何在您將專案插入應用程式的 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 專案。

您無法同時設定 absoluteExpirationslidingExpiration 參數。 如果您想要在特定時間到期快取專案,請將 參數設定為特定時間,並將 slidingExpiration 參數設定 absoluteExpirationNoSlidingExpiration

如果您希望快取專案在上次存取專案之後經過一段時間之後到期,請將 參數設定為到期間隔,並將 absoluteExpiration 參數設定 slidingExpirationNoAbsoluteExpiration

另請參閱

適用於

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

從快取中移除物件之前呼叫的委派。 您可以使用此委派更新快取項目,並且確保該項目不會從快取中移除。

例外狀況

keyvalueonUpdateCallback 參數是 null

請將 slidingExpiration 參數設定為小於 TimeSpan.Zero,或等於一年以上。

您要為 Cache 加入的項目都會設定 absoluteExpirationslidingExpiration 參數。

-或-

dependencies 參數為 null,而且 absoluteExpiration 參數設為 NoAbsoluteExpirationslidingExpiration 參數則設為 NoSlidingExpiration

備註

方法 Insert 可讓您在快取中插入新專案,並提供在從快取中移除專案之前所呼叫的委派。 在委派中,您可以更新快取的專案,因而防止它從快取中移除。

這個方法會以相同的 key 參數覆寫現有的 Cache 專案。

您無法同時設定 absoluteExpirationslidingExpiration 參數。 如果您想要在特定時間到期快取專案,請將 參數設定為特定時間,並將 slidingExpiration 參數設定 absoluteExpirationNoSlidingExpiration

如果您想要快取專案在上次存取專案之後的一段時間之後到期,請將 參數設定 slidingExpiration 為到期間隔,並將 參數設定 absoluteExpirationNoAbsoluteExpiration

另請參閱

適用於

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 做為這個參數值。 如果您是使用 Absolute Expiration,則 slidingExpiration 參數必須為 NoSlidingExpiration

slidingExpiration
TimeSpan

在上次存取所插入物件的時間以及該物件到期時間之間的間隔。 如果此值相當於 20 分鐘,物件將會到期,而且會從上次存取之後的 20 分鐘從快取中移除。 如果您使用 Sliding Expiration,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration

例外狀況

keyvalue 參數為 null

請將 slidingExpiration 參數設定為小於 TimeSpan.Zero,或等於一年以上。

您要為 Cache 加入的項目都會設定 absoluteExpirationslidingExpiration 參數。

範例

下列範例示範如何以絕對到期時間將專案插入應用程式的快取中。

注意

由於這個形式的 Insert 方法支援快取相依性,如果專案沒有相依性,您必須在以逗號分隔的參數清單中,將參數宣告 dependencynull) (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 插入。

另請參閱

適用於