Cache.Add Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 null
hodnotu .
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 null
hodnota , 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 absoluteExpiration
slidingExpiration
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 .