Cache.Add Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 itemRemoved
onRemove
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 1
60 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.