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插入。