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, scadenza e criteri di priorità e un delegato che è possibile usare per notificare all'applicazione quando l'elemento inserito viene rimosso da 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 della cache utilizzata per fare riferimento all'elemento.
- value
- Object
Elemento da aggiungere alla cache.
- dependencies
- CacheDependency
Dipendenze della chiave del file o della cache per l'elemento. Quando una dipendenza cambia, l'oggetto diventa non valido e viene rimosso dalla cache. Se non sono presenti dipendenze, questo parametro contiene null.
- absoluteExpiration
- DateTime
Ora in cui l'oggetto aggiunto scade e viene rimosso dalla cache. Se si usa la scadenza scorrevole, il absoluteExpiration parametro deve essere NoAbsoluteExpiration.
- slidingExpiration
- TimeSpan
Intervallo tra l'ultimo accesso all'oggetto aggiunto e l'ora in cui l'oggetto scade. Se questo valore è equivalente a 20 minuti, l'oggetto scade e viene rimosso dalla cache 20 minuti dopo l'ultimo accesso. Se si usa la scadenza assoluta, il slidingExpiration parametro deve essere NoSlidingExpiration.
- priority
- CacheItemPriority
Costo relativo dell'oggetto, espresso dall'enumerazione CacheItemPriority . La cache usa questo valore quando rimuove gli oggetti; gli oggetti con un costo inferiore vengono rimossi dalla cache prima degli oggetti con un costo più elevato.
- onRemoveCallback
- CacheItemRemovedCallback
Delegato che, se specificato, viene chiamato quando un oggetto viene rimosso dalla cache. È possibile usarlo per notificare alle applicazioni quando i relativi oggetti vengono eliminati dalla cache.
Valori restituiti
Oggetto che rappresenta l'elemento aggiunto se l'elemento è stato archiviato in precedenza nella cache; in caso contrario, null.
Eccezioni
Il key parametro o value è impostato su null.
Il slidingExpiration parametro è impostato su meno TimeSpan.Zero di o più di un anno.
I absoluteExpiration parametri e slidingExpiration sono entrambi impostati per l'elemento che si sta tentando di aggiungere a Cache.
Esempio
Nell'esempio seguente viene creato un AddItemToCache metodo . Quando questo metodo viene chiamato, imposta una itemRemoved proprietà su false e registra un 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 Key1 alla chiave nella cache. Se il valore è null, il Add metodo inserisce un elemento nella cache con una chiave di Key1, un valore pari Value 1a , una scadenza assoluta di 60 secondi e una priorità della cache elevata. Usa anche il onRemove metodo come argomento. Ciò consente di chiamare il RemovedCallback metodo quando questo elemento viene rimosso dalla cache.
Note
Per esempi su come usare la CacheDependency classe e il CacheItemRemovedCallback delegato, vedere Memorizzazione nella cache dei dati dell'applicazione.
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 all'utente Cachese un elemento con lo stesso key parametro è già archiviato in . Per sovrascrivere un elemento esistente Cache usando lo stesso key parametro, usare il Insert metodo .
Non è possibile impostare 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 prevede che l'elemento della cache scada dopo un determinato periodo di tempo trascorso dall'ultimo accesso all'elemento, impostare il slidingExpiration parametro sull'intervallo di scadenza e il absoluteExpiration parametro su NoAbsoluteExpiration.