Cache.Add Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen öğeyi bağımlılıkları, süre sonu ve öncelik ilkeleriyle nesnesine Cache ekler ve eklenen öğe öğesi öğesinden Cache
kaldı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 null
ayarlanı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 isenull
Add
, 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
.