MemoryCache.Set Metodo

Definizione

Inserisce una voce della cache nella cache.

Overload

Nome Descrizione
Set(CacheItem, CacheItemPolicy)

Inserisce una voce della cache nella cache usando un'istanza CacheItem di per fornire la chiave e il valore per la voce della cache.

Set(String, Object, DateTimeOffset, String)

Inserisce una voce della cache nella cache utilizzando una chiave e un valore e specifica i dettagli di scadenza in base al tempo.

Set(String, Object, CacheItemPolicy, String)

Inserisce una voce della cache nella cache usando una chiave e un valore e una rimozione.

Commenti

Se la voce specificata non esiste, viene creata. Se la voce specificata esiste, viene aggiornata.

Set(CacheItem, CacheItemPolicy)

Inserisce una voce della cache nella cache usando un'istanza CacheItem di per fornire la chiave e il valore per la voce della cache.

public:
 override void Set(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override void Set(System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.Set : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> unit
Public Overrides Sub Set (item As CacheItem, policy As CacheItemPolicy)

Parametri

item
CacheItem

Oggetto che rappresenta una voce della cache da inserire.

policy
CacheItemPolicy

Oggetto che contiene i dettagli di rimozione per la voce della cache. Questo oggetto offre più opzioni per la rimozione rispetto a una semplice scadenza assoluta.

Eccezioni

item è null.

oppure

La Key proprietà è null.

oppure

La Value proprietà è null.

È stata passata una combinazione non valida di argomenti per la voce della cache. Ciò si verifica se nell'oggetto criteri per la voce della cache vengono impostati i dettagli di scadenza seguenti:

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

oppure

La SlidingExpiration proprietà è impostata su un valore maggiore di un anno.

oppure

Non Priority è un valore dell'enumerazione CacheItemPriority .

Commenti

Analogamente agli overload di altri Set metodi, il Set metodo inserisce sempre un valore della cache nella cache, indipendentemente dal fatto che esista già una voce con la stessa chiave. Se la voce specificata non esiste nella cache, viene inserita una nuova voce della cache. Se la voce specificata esiste già, il relativo valore viene aggiornato.

Si applica a

Set(String, Object, DateTimeOffset, String)

Inserisce una voce della cache nella cache utilizzando una chiave e un valore e specifica i dettagli di scadenza in base al tempo.

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

Parametri

key
String

Identificatore univoco per la voce della cache da inserire.

value
Object

Dati per la voce della cache.

absoluteExpiration
DateTimeOffset

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

regionName
String

Area denominata nella cache in cui è possibile aggiungere una voce della cache. Non passare un valore per questo parametro. Questo parametro è null per impostazione predefinita, perché la MemoryCache classe non implementa le aree.

Eccezioni

regionName non nullè .

key è null.

oppure

value è null.

  • È stata passata una combinazione non valida di argomenti per la voce della cache. Ciò si verifica se nell'oggetto criteri per la voce della cache vengono impostati i dettagli di scadenza seguenti:

  • Se i valori di scadenza assoluti e scorrevoli per l'oggetto vengono impostati su CacheItemPolicy valori diversi dai valori predefiniti di InfiniteAbsoluteExpiration e NoSlidingExpiration. Ciò si verifica perché la MemoryCache classe non supporta le voci in scadenza in base a una scadenza assoluta e a una scadenza scorrevole. È possibile impostare in modo esplicito una sola impostazione di scadenza quando si usa la MemoryCache classe . L'altra impostazione deve essere impostata su InfiniteAbsoluteExpiration o NoSlidingExpiration.

  • Se sia il callback di rimozione che il callback di aggiornamento vengono specificati nell'oggetto CacheItemPolicy . La MemoryCache classe supporta solo l'uso di un tipo di callback per ogni voce della cache.

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

oppure

La SlidingExpiration proprietà è impostata su un valore maggiore di un anno.

oppure

Commenti

Analogamente ad altri Set overload del metodo, il Set metodo inserisce sempre un valore della cache nella cache, indipendentemente dal fatto che esista già una voce con la stessa chiave. Se la voce specificata non esiste, viene inserita una nuova voce della cache. Se la voce specificata esiste, viene aggiornata.

Il absoluteExpiration parametro indica quando la voce deve essere rimossa dalla cache.

La rimozione di una voce attiva tutti i monitoraggi delle modifiche associati. Se l'elemento rimosso è stato associato a un oggetto o a un CacheItemUpdateCallback oggetto, il motivo della rimozione passato ai callback è contenuto nella Removed proprietà .CacheItemRemovedCallback

Si applica a

Set(String, Object, CacheItemPolicy, String)

Inserisce una voce della cache nella cache usando una chiave e un valore e una rimozione.

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

Parametri

key
String

Identificatore univoco per la voce della cache da inserire.

value
Object

Dati per la voce della cache.

policy
CacheItemPolicy

Oggetto che contiene i dettagli di rimozione per la voce della cache. Questo oggetto offre più opzioni per la rimozione rispetto a una semplice scadenza assoluta.

regionName
String

Area denominata nella cache in cui è possibile aggiungere una voce della cache. Non passare un valore per questo parametro. Questo parametro è null per impostazione predefinita, perché la MemoryCache classe non implementa le aree.

Eccezioni

key è null.

oppure

value è null

oppure

Il riferimento di callback passato al metodo helper nella UpdateCallback proprietà è null.

  • Esiste una combinazione non valida di argomenti per la voce della cache. Ciò si verifica se nell'oggetto criteri per la voce della cache vengono impostati i dettagli di scadenza seguenti:

  • Se i valori di scadenza assoluti e scorrevoli per l'oggetto vengono impostati su CacheItemPolicy valori diversi dai valori predefiniti di InfiniteAbsoluteExpiration e NoSlidingExpiration. Ciò è dovuto al fatto che la MemoryCache classe non supporta le voci in scadenza in base a una scadenza assoluta e a una scadenza scorrevole. È possibile impostare in modo esplicito una sola impostazione di scadenza quando si usa la MemoryCache classe . L'altra impostazione deve essere impostata su InfiniteAbsoluteExpiration o NoSlidingExpiration.

  • Se nella classe vengono specificati CacheItemPolicy sia il callback di rimozione che il callback di aggiornamento. La MemoryCache classe supporta solo l'uso di un tipo di callback per ogni voce della cache.

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

oppure

La SlidingExpiration proprietà è impostata su un valore maggiore di un anno.

oppure

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

regionName non nullè .

Commenti

Analogamente ad altri Set overload del metodo, il Set metodo inserisce sempre un valore della cache nella cache, indipendentemente dal fatto che esista già una voce corrispondente. Se la voce specificata non esiste nella cache, viene inserita una nuova voce della cache. Se la voce specificata esiste, viene aggiornata.

La rimozione di una voce attiva tutti i monitoraggi delle modifiche associati. Se l'elemento rimosso è stato associato a un oggetto o a un CacheItemUpdateCallback oggetto, il motivo della rimozione passato ai callback è contenuto nella Removed proprietà .CacheItemRemovedCallback

Si applica a