Condividi tramite


Cache.Add Metodo

Definizione

Aggiunge l'elemento specificato all'oggetto Cache con dipendenze e criteri di scadenza e priorità, nonché un delegato da utilizzare per notificare all'applicazione la rimozione dell'elemento inserito dalla 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

Parametri

key
String

Chiave di cache utilizzata per fare riferimento all'elemento.

value
Object

Elemento da aggiungere alla cache.

dependencies
CacheDependency

Dipendenze di file o chiave di cache per l'elemento. Al variare di una delle dipendenze, l'oggetto viene invalidato e rimosso dalla cache. In assenza di dipendenze, questo parametro contiene il valore null.

absoluteExpiration
DateTime

Ora in cui l'oggetto aggiunto scade e viene rimosso dalla cache. Se si utilizza la scadenza variabile, il parametro absoluteExpiration deve essere NoAbsoluteExpiration.

slidingExpiration
TimeSpan

Intervallo di tempo tra l'ultimo accesso all'oggetto aggiunto e la sua scadenza. Se questo valore è pari a 20 minuti, l'oggetto scade e viene rimosso dalla cache 20 minuti dopo l'ultimo accesso. Se si utilizza la scadenza assoluta, il parametro slidingExpiration deve essere NoSlidingExpiration.

priority
CacheItemPriority

Costo relativo dell'oggetto, così come è espresso dall'enumerazione CacheItemPriority. La cache utilizza questo valore per la rimozione degli oggetti; gli oggetti con un impiego inferiore vengono rimossi dalla cache prima di quelli con un impiego superiore.

onRemoveCallback
CacheItemRemovedCallback

Delegato che, se fornito, viene chiamato quando un oggetto viene rimosso dalla cache. Può essere utilizzato per notificare all'applicazione l'eliminazione dalla cache dei relativi oggetti.

Restituisce

Oggetto che rappresenta l'elemento che è stato aggiunto se l'elemento è stato memorizzato in precedenza nella cache. In caso contrario, null.

Eccezioni

Il parametro key oppure value viene impostato su null.

Il parametro slidingExpiration viene impostato su un valore inferiore a TimeSpan.Zero o superiore a un anno.

Entrambi i parametri absoluteExpiration e slidingExpiration vengono impostati per l'elemento che si tenta di aggiungere a Cache.

Esempio

Nell'esempio seguente viene creato un AddItemToCache metodo. Quando viene chiamato questo metodo, imposta una proprietà su false e registra un itemRemovedonRemove metodo con una nuova istanza del CacheItemRemovedCallback delegato. La firma del delegato viene usata nel RemovedCallback metodo . Il AddItemToCache metodo controlla quindi il valore associato alla Key1 chiave nella cache. Se il valore è null, il Add metodo inserisce un elemento nella cache con una chiave di , un valore di Key1, una scadenza assoluta di Value 160 secondi e una priorità della cache elevata. Usa anche il onRemove metodo come argomento. Ciò consente di chiamare il metodo quando questo RemovedCallback elemento viene rimosso dalla cache.

Nota

Per esempi di come usare la classe e il delegato, vedere Memorizzazione nella CacheDependencycache dei dati dell'applicazioneCacheItemRemovedCallback.

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

Commenti

Le chiamate a questo metodo avranno esito negativo in modo invisibile se un elemento con lo stesso key parametro è già archiviato in Cache. Per sovrascrivere un elemento esistente Cache usando lo stesso key parametro, usare il Insert metodo .

Non è possibile impostare entrambi i absoluteExpiration parametri e slidingExpiration . Se si intende che l'elemento della cache scada in un momento specifico, impostare il absoluteExpiration parametro sull'ora specifica e il slidingExpiration parametro su NoSlidingExpiration.

Se si intende che l'elemento della cache scada dopo un determinato periodo di tempo trascorso dall'ultimo accesso all'elemento, è stato impostato il slidingExpiration parametro sull'intervallo di scadenza e il absoluteExpiration parametro su NoAbsoluteExpiration.

Si applica a

Vedi anche