Condividi tramite


MemoryCache.AddOrGetExisting Metodo

Definizione

Inserisce una voce della cache nella cache.

Overload

AddOrGetExisting(CacheItem, CacheItemPolicy)

Aggiunge una voce della cache nella cache usando l'istanza di CacheItem specificata e i dettagli sulla modalità di eliminazione della voce.

AddOrGetExisting(String, Object, DateTimeOffset, String)

Aggiunge una voce della cache nella cache usando la chiave e il valore specificati e un valore di scadenza assoluto.

AddOrGetExisting(String, Object, CacheItemPolicy, String)

Inserisce una voce della cache nella cache usando la chiave e il valore specificati e i dettagli sulla modalità di eliminazione della voce specificati.

Commenti

Gli overload del AddOrGetExisting metodo vengono usati per inserire una voce della cache nella cache. Se non esiste una voce della cache con una chiave corrispondente, questi metodi inseriscono una nuova voce. Se esiste già una voce della cache con una chiave corrispondente, restituiscono la voce esistente.

AddOrGetExisting(CacheItem, CacheItemPolicy)

Origine:
MemoryCache.cs
Origine:
MemoryCache.cs
Origine:
MemoryCache.cs

Aggiunge una voce della cache nella cache usando l'istanza di CacheItem specificata e i dettagli sulla modalità di eliminazione della voce.

public:
 override System::Runtime::Caching::CacheItem ^ AddOrGetExisting(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override System.Runtime.Caching.CacheItem AddOrGetExisting (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.AddOrGetExisting : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> System.Runtime.Caching.CacheItem
Public Overrides Function AddOrGetExisting (item As CacheItem, policy As CacheItemPolicy) As CacheItem

Parametri

item
CacheItem

Oggetto da aggiungere.

policy
CacheItemPolicy

Oggetto contenente i dettagli sull'eliminazione per la voce della cache. Questo oggetto fornisce più opzioni per l'eliminazione di una semplice scadenza assoluta.

Restituisce

Se esiste una voce della cache con la stessa chiave, la voce della cache esistente; in caso contrario, null.

Eccezioni

La proprietà Value è null.

Nell'oggetto CacheItemPolicy sia i valori di scadenza assoluti che quelli variabili sono impostati sui valori diversi da quelli predefiniti dei campi InfiniteAbsoluteExpiration e NoSlidingExpiration. La classe MemoryCache non può impostare criteri di scadenza basati su una combinazione di una scadenza assoluta e una scadenza variabile. È possibile impostare in modo esplicito solo un'impostazione di scadenza quando si utilizza l'istanza MemoryCache. L'altra impostazione di scadenza deve essere impostata sul campo InfiniteAbsoluteExpiration o sul campo NoSlidingExpiration.

La proprietà SlidingExpiration è impostata su un valore minore di Zero.

-oppure-

La proprietà SlidingExpiration è impostata su un valore superiore a un anno.

-oppure-

La proprietà Priority non è un valore dell'enumerazione CacheItemPriority.

Commenti

Il item parametro fornisce la chiave e il valore utilizzato dal metodo . Se nella cache è presente una voce della cache con la stessa chiave del item parametro, il metodo restituisce la voce esistente come CacheItem istanza. Se non è presente alcuna voce della cache, il metodo ne crea uno nuovo usando la chiave e il valore forniti dal item parametro e con i dettagli di rimozione specificati da policy.

Avviso

Gli overload del metodo Add e AddOrGetExisting non supportano la proprietà UpdateCallback. Pertanto, per impostare la proprietà UpdateCallback per una voce della cache, utilizzare invece gli overload del metodo Set.

Si applica a

AddOrGetExisting(String, Object, DateTimeOffset, String)

Origine:
MemoryCache.cs
Origine:
MemoryCache.cs
Origine:
MemoryCache.cs

Aggiunge una voce della cache nella cache usando la chiave e il valore specificati e un valore di scadenza assoluto.

public override object AddOrGetExisting (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.AddOrGetExisting : string * obj * DateTimeOffset * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing) As Object

Parametri

key
String

Identificatore univoco della voce della cache da aggiungere.

value
Object

Dati per la voce della cache.

absoluteExpiration
DateTimeOffset

Data e ora fisse in cui scadrà la voce della cache.

regionName
String

Area denominata nella cache alla quale può essere aggiunta una voce della cache. Non passare alcun valore per questo parametro. Questo parametro è null per impostazione predefinita, perché la classe MemoryCache non implementa le aree.

Restituisce

Se esiste una voce della cache con la stessa chiave, la voce della cache esistente; in caso contrario, null.

Eccezioni

value non è null.

regionName non è null.

Nell'oggetto CacheItemPolicy sia i valori di scadenza assoluti che quelli variabili sono impostati sui valori diversi da quelli predefiniti dei campi InfiniteAbsoluteExpiration e NoSlidingExpiration. La classe MemoryCache non può impostare criteri di scadenza basati su una combinazione di una scadenza assoluta e una scadenza variabile. È possibile impostare in modo esplicito solo un'impostazione di scadenza quando si utilizza l'istanza MemoryCache. L'altra impostazione di scadenza deve essere impostata su InfiniteAbsoluteExpiration o NoSlidingExpiration

La proprietà SlidingExpiration è impostata su un valore minore di Zero.

-oppure-

La proprietà SlidingExpiration è impostata su un valore superiore a un anno.

-oppure-

La proprietà Priority non è un valore dell'enumerazione CacheItemPriority.

Commenti

Se nella cache non è presente una voce della cache la cui chiave corrisponde al key parametro , viene creata una nuova voce della cache e l'overload del MemoryCache.AddOrGetExisting metodo restituisce null. Se esiste una voce della cache corrispondente, viene restituita la voce esistente.

Avviso

Gli overload del metodo Add e AddOrGetExisting non supportano la proprietà UpdateCallback. Pertanto, per impostare la proprietà UpdateCallback per una voce della cache, utilizzare invece gli overload del metodo Set.

Si applica a

AddOrGetExisting(String, Object, CacheItemPolicy, String)

Origine:
MemoryCache.cs
Origine:
MemoryCache.cs
Origine:
MemoryCache.cs

Inserisce una voce della cache nella cache usando la chiave e il valore specificati e i dettagli sulla modalità di eliminazione della voce specificati.

public override object AddOrGetExisting (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.AddOrGetExisting : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing) As Object

Parametri

key
String

Identificatore univoco della voce della cache da aggiungere o ottenere.

value
Object

Dati per la voce della cache.

policy
CacheItemPolicy

Oggetto contenente i dettagli sull'eliminazione per la voce della cache. Questo oggetto fornisce più opzioni per l'eliminazione di una semplice scadenza assoluta.

regionName
String

Area denominata nella cache alla quale può essere aggiunta una voce della cache. Non passare alcun valore per questo parametro. Per impostazione predefinita, questo parametro è null, in quanto la classe MemoryCache non implementa le aree.

Restituisce

Se esiste già una voce della cache corrispondente, una voce della cache; in caso contrario, null.

Eccezioni

value è null.

Nell'oggetto CacheItemPolicy sia i valori di scadenza assoluti che quelli variabili sono impostati sui valori diversi da quelli predefiniti dei campi InfiniteAbsoluteExpiration e NoSlidingExpiration. La classe MemoryCache non può impostare criteri di scadenza basati su una combinazione di una scadenza assoluta e di una scadenza variabile. Quando si utilizza la classe MemoryCache, è possibile configurare esplicitamente solo un'impostazione di scadenza. L'altra impostazione deve essere InfiniteAbsoluteExpiration o NoSlidingExpiration.

-oppure-

Sia il callback di rimozione sia il callback di aggiornamento sono stati specificati per CacheItemPolicy. MemoryCache supporta solo l'utilizzo di un tipo di callback per voce della cache.

La proprietà SlidingExpiration è impostata su un valore minore di Zero.

-oppure-

SlidingExpiration è stato impostato su un valore maggiore di un anno.

-oppure-

La proprietà Priority non è un valore dell'enumerazione CacheItemPriority.

Commenti

Avviso

Gli overload del metodo Add e AddOrGetExisting non supportano la proprietà UpdateCallback. Pertanto, per impostare la proprietà UpdateCallback per una voce della cache, utilizzare invece gli overload del metodo Set.

Si applica a