Cache.Add Yöntem

Tanım

Belirtilen öğeyi bağımlılıkları, süre sonu ve öncelik ilkeleriyle nesnesine Cache ekler ve eklenen öğe öğesi öğesinden Cachekaldırıldığında uygulamanızı bilgilendirmek için kullanabileceğiniz bir temsilci ekler.

public:
 System::Object ^ Add(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 object Add (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.Add : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> obj
Public Function Add (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, priority As CacheItemPriority, onRemoveCallback As CacheItemRemovedCallback) As Object

Parametreler

key
String

Öğeye başvurmak için kullanılan önbellek anahtarı.

value
Object

Önbelleğe eklenecek öğe.

dependencies
CacheDependency

Öğenin dosya veya önbellek anahtarı bağımlılıkları. Herhangi bir bağımlılık değiştiğinde nesne geçersiz hale gelir ve önbellekten kaldırılır. Bağımlılık yoksa, bu parametre içerir null.

absoluteExpiration
DateTime

Eklenen nesnenin süresinin dolduğu ve önbellekten kaldırıldığı saat. Kayan süre sonu kullanıyorsanız parametresi absoluteExpiration olmalıdır NoAbsoluteExpiration.

slidingExpiration
TimeSpan

Eklenen nesnenin en son erişildiği zaman ile bu nesnenin süresinin dolma zamanı arasındaki aralık. Bu değer 20 dakikanın eşdeğeriyse, nesnenin süresi dolar ve son erişildikten 20 dakika sonra önbellekten kaldırılır. Mutlak süre sonu kullanıyorsanız parametresi slidingExpiration olmalıdır NoSlidingExpiration.

priority
CacheItemPriority

Sabit listesi tarafından ifade edilen nesnenin CacheItemPriority göreli maliyeti. Önbellek nesneleri çıkardığında bu değeri kullanır; daha düşük maliyetli nesneler, daha yüksek maliyetli nesnelerden önce önbellekten kaldırılır.

onRemoveCallback
CacheItemRemovedCallback

Bir nesne önbellekten kaldırıldığında, sağlanırsa çağrılan bir temsilci. Nesneleri önbellekten silindiğinde uygulamaları bilgilendirmek için bunu kullanabilirsiniz.

Döndürülenler

Öğe önceden önbellekte depolanmışsa eklenen öğeyi temsil eden nesne; aksi takdirde , null.

Özel durumlar

key or value parametresi olarak nullayarlanır.

slidingExpiration parametresi bir yıldan az TimeSpan.Zero veya daha fazla olarak ayarlanır.

ve parametrelerinin absoluteExpiration her ikisi de öğesine eklemeye çalıştığınız öğe için ayarlanmıştırCache.slidingExpiration

Örnekler

Aşağıdaki örnek bir AddItemToCache yöntem oluşturur. Bu yöntem çağrıldığında, bir itemRemoved özelliği olarak false ayarlar ve temsilcinin CacheItemRemovedCallback yeni bir örneğine bir onRemove yöntem kaydeder. Temsilcinin imzası yönteminde RemovedCallback kullanılır. Yöntemi AddItemToCache daha sonra önbellekteki anahtarla Key1 ilişkili değeri denetler. değeri isenullAdd, yöntemi önbelleğe anahtarıKey1, değeriValue 1, 60 saniyelik mutlak süre sonu ve yüksek önbellek önceliği olan bir öğe yerleştirir. Ayrıca yöntemini bağımsız değişken olarak kullanır onRemove . Bu, bu öğe önbellekten kaldırıldığında yönteminin çağrılmasını sağlar RemovedCallback .

Not

sınıfını ve temsilciyi CacheDependencyCacheItemRemovedCallback kullanma örnekleri için bkz. Uygulama Verilerini Önbelleğe Alma.

public void AddItemToCache(Object sender, EventArgs e) {
    itemRemoved = false;

    onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
Public Sub AddItemToCache(sender As Object, e As EventArgs)
    itemRemoved = false

    onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

    If (IsNothing(Cache("Key1"))) Then
      Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
    End If
End Sub

Açıklamalar

Aynı key parametreye sahip bir öğe içinde zaten depolanmışsa Cache, bu yönteme yapılan çağrılar sessizce başarısız olur. Aynı key parametreyi kullanarak var olan Cache bir öğenin üzerine yazmak için yöntemini kullanınInsert.

hem hem slidingExpiration de absoluteExpiration parametrelerini ayarlayamazsınız. Önbellek öğesinin belirli bir zamanda süresinin dolmasına karar verirseniz, parametresini absoluteExpiration belirli bir saate, parametresini slidingExpiration ise olarak NoSlidingExpirationayarlarsınız.

Öğeye son erişildikten sonra belirli bir süre geçtikten sonra önbellek öğesinin süresinin dolmasına karar verirseniz, parametresini süre sonu aralığına ve parametresini absoluteExpiration olarak NoAbsoluteExpirationayarlarsınızslidingExpiration.

Şunlara uygulanır

Ayrıca bkz.