Sdílet prostřednictvím


Cache.Add Metoda

Definice

Přidá zadanou položku do objektu Cache se závislostmi, zásadami vypršení platnosti a priority a delegáta, který můžete použít k upozornění aplikace, když je vložená položka odebrána z objektu Cache.

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

Klíč mezipaměti použitý k odkazování na položku

value
Object

Položka, která se má přidat do mezipaměti.

dependencies
CacheDependency

Závislosti klíče souboru nebo mezipaměti pro položku. Když se změní jakákoli závislost, objekt se stane neplatným a odebere se z mezipaměti. Pokud neexistují žádné závislosti, obsahuje tento parametr null.

absoluteExpiration
DateTime

Čas, kdy platnost přidaného objektu vyprší a je odebrán z mezipaměti. Pokud používáte klouzavé vypršení platnosti, absoluteExpiration musí být NoAbsoluteExpirationparametr .

slidingExpiration
TimeSpan

Interval mezi časem posledního přístupu k přidanému objektu a časem, kdy tento objekt vyprší. Pokud tato hodnota odpovídá 20 minutám, platnost objektu vyprší a odebere se z mezipaměti 20 minut po posledním přístupu. Pokud používáte absolutní vypršení platnosti, slidingExpiration parametr musí být NoSlidingExpiration.

priority
CacheItemPriority

Relativní náklady objektu vyjádřené výčtem CacheItemPriority . Mezipaměť používá tuto hodnotu při vyřazování objektů; objekty s nižšími náklady se z mezipaměti odeberou před objekty s vyššími náklady.

onRemoveCallback
CacheItemRemovedCallback

Delegát, který je za předpokladu, že je volána při odebrání objektu z mezipaměti. Můžete ho použít k oznámení aplikacím, když jsou jejich objekty odstraněny z mezipaměti.

Návraty

Objekt, který představuje položku, která byla přidána, pokud položka byla dříve uložena v mezipaměti; v opačném případě . null

Výjimky

Parametr key nebo value je nastavený na nullhodnotu .

Parametr slidingExpiration je nastavený na méně než TimeSpan.Zero nebo více než jeden rok.

Parametry absoluteExpiration a slidingExpiration jsou nastavené pro položku, kterou se pokoušíte přidat do Cache.

Příklady

Následující příklad vytvoří metodu AddItemToCache . Při zavolání této metody nastaví itemRemoved vlastnost na false a zaregistruje metodu onRemove s novou instancí delegáta CacheItemRemovedCallback . Podpis delegáta se používá v RemovedCallback metodě. Metoda AddItemToCache pak zkontroluje hodnotu přidruženou ke klíči Key1 v mezipaměti. Pokud je nullhodnota , Add metoda umístí položku do mezipaměti s klíčem Key1, hodnotou Value 1, absolutním vypršením platnosti 60 sekund a vysokou prioritou mezipaměti. Používá také metodu onRemove jako argument. To umožňuje volat metodu RemovedCallback při odebrání této položky z mezipaměti.

Poznámka

Příklady použití CacheDependency třídy a delegáta najdete v tématu Ukládání dat aplikace do CacheItemRemovedCallback mezipaměti.

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

Poznámky

Volání této metody se nezdaří bezobslužně, pokud je položka se stejným key parametrem již uložena v objektu Cache. Chcete-li přepsat existující Cache položku pomocí stejného key parametru, použijte metodu Insert .

Parametry a absoluteExpirationslidingExpiration nelze nastavit. Pokud chcete, aby platnost položky mezipaměti vypršela v určitou dobu, nastavíte absoluteExpiration parametr na konkrétní čas a slidingExpiration parametr na NoSlidingExpirationhodnotu .

Pokud chcete, aby platnost položky mezipaměti vypršela po určité době od posledního přístupu k této položce, nastavte slidingExpiration parametr na interval vypršení platnosti a absoluteExpiration parametr na NoAbsoluteExpirationhodnotu .

Platí pro

Viz také