Cache.Add Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dodaje określony element do Cache obiektu z zależnościami, zasadami wygasania i priorytetu oraz delegatem, którego można użyć do powiadamiania aplikacji o usunięciu Cache
wstawionego elementu z elementu .
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
Parametry
- key
- String
Klucz pamięci podręcznej używany do odwołowania się do elementu.
- value
- Object
Element, który ma zostać dodany do pamięci podręcznej.
- dependencies
- CacheDependency
Zależności klucza pliku lub pamięci podręcznej dla elementu. W przypadku zmiany zależności obiekt staje się nieprawidłowy i zostanie usunięty z pamięci podręcznej. Jeśli nie ma zależności, ten parametr zawiera wartość null
.
- absoluteExpiration
- DateTime
Czas wygaśnięcia dodanego obiektu i jest usuwany z pamięci podręcznej. Jeśli używasz przesuwania wygasania, absoluteExpiration
parametr musi mieć wartość NoAbsoluteExpiration.
- slidingExpiration
- TimeSpan
Interwał między czasem ostatniego uzyskania dostępu do dodanego obiektu a czasem wygaśnięcia tego obiektu. Jeśli ta wartość jest odpowiednikiem 20 minut, obiekt wygaśnie i zostanie usunięty z pamięci podręcznej 20 minut po ostatnim dostępie. Jeśli używasz bezwzględnego wygaśnięcia, slidingExpiration
parametr musi mieć wartość NoSlidingExpiration.
- priority
- CacheItemPriority
Względny koszt obiektu wyrażony przez wyliczenie CacheItemPriority . Pamięć podręczna używa tej wartości, gdy eksmituje obiekty; obiekty o niższych kosztach są usuwane z pamięci podręcznej przed obiektami o wyższym koszcie.
- onRemoveCallback
- CacheItemRemovedCallback
Delegat, który, jeśli podano, jest wywoływany, gdy obiekt zostanie usunięty z pamięci podręcznej. Można to użyć do powiadamiania aplikacji o usunięciu ich obiektów z pamięci podręcznej.
Zwraca
Obiekt reprezentujący element, który został dodany, jeśli element był wcześniej przechowywany w pamięci podręcznej; w przeciwnym razie , null
.
Wyjątki
Parametr key
or value
jest ustawiony na null
wartość .
Parametr slidingExpiration
jest ustawiony na mniej niż TimeSpan.Zero
jeden rok.
Parametry absoluteExpiration
i slidingExpiration
są ustawione dla elementu, który próbujesz dodać do Cache
elementu .
Przykłady
Poniższy przykład tworzy metodę AddItemToCache
. Po wywołaniu tej metody ustawia itemRemoved
właściwość na false
i rejestruje metodę onRemove
przy użyciu nowego wystąpienia delegata CacheItemRemovedCallback . Podpis delegata jest używany w metodzie RemovedCallback
. Następnie AddItemToCache
metoda sprawdza wartość skojarzona z kluczem Key1
w pamięci podręcznej. Jeśli wartość to null
, Add
metoda umieszcza element w pamięci podręcznej z kluczem Key1
, wartością Value 1
, bezwzględnym wygaśnięciem 60 sekund i wysokim priorytetem pamięci podręcznej. Używa również metody jako argumentu onRemove
.
RemovedCallback
Dzięki temu metoda może być wywoływana, gdy ten element zostanie usunięty z pamięci podręcznej.
Uwaga
Przykłady użycia klasy i delegata CacheDependencyCacheItemRemovedCallback można znaleźć w temacie Buforowanie danych aplikacji.
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
Uwagi
Wywołania tej metody nie powiedzą się w trybie dyskretnym, jeśli element o tym samym key
parametrze jest już przechowywany w obiekcie Cache
. Aby zastąpić istniejący Cache
element przy użyciu tego samego key
parametru Insert , użyj metody .
Nie można ustawić parametrów absoluteExpiration
i .slidingExpiration
Jeśli zamierzasz, aby element pamięci podręcznej wygaśnie w określonym czasie, ustawisz absoluteExpiration
parametr na określony czas, a slidingExpiration
parametr na NoSlidingExpiration.
Jeśli zamierzasz, aby element pamięci podręcznej wygasał po upływie określonego czasu od czasu ostatniego uzyskania dostępu do elementu, należy ustawić slidingExpiration
parametr na interwał wygaśnięcia, a absoluteExpiration
parametr na NoAbsoluteExpiration.