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ıza bildirim göndermek 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üresi dolma ve önbellekten kaldırılma zamanı. Kayan süre sonu kullanıyorsanız parametresi absoluteExpiration olmalıdır NoAbsoluteExpiration.

slidingExpiration
TimeSpan

Eklenen nesneye en son erişilen 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ğlanan bir temsilci çağrılır. Nesneleri önbellekten silindiğinde uygulamaları bilgilendirmek için bunu kullanabilirsiniz.

Döndürülenler

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

Özel durumlar

key veya value parametresi olarak nullayarlanır.

slidingExpiration parametresi bir yıldan TimeSpan.Zero az 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 bir onRemove yöntemi temsilcinin CacheItemRemovedCallback yeni bir örneğine kaydeder. Temsilcinin imzası yönteminde RemovedCallback kullanılır. Yöntemi AddItemToCache daha sonra önbellekteki anahtarla Key1 ilişkili değeri denetler. değer isenullAdd, yöntemi önbelleğe anahtarıKey1, değeri Value 160 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

Bu yönteme yapılan çağrılar, aynı key parametreye sahip bir öğe içinde Cachezaten depolanmışsa 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 süresinin belirli bir zamanda dolmayı planlıyorsanız, 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 niyetliyseniz, parametresini slidingExpiration süre sonu aralığına ve absoluteExpiration parametresini NoAbsoluteExpirationolarak ayarlarsınız.

Şunlara uygulanır

Ayrıca bkz.