Cache.Add Metoda

Definicja

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 Cachewstawionego 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 nullwartość .

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 Cacheelementu .

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.

Dotyczy

Zobacz też