Compartir a través de


MemoryCache.AddOrGetExisting Método

Definición

Inserta una entrada en la memoria caché.

Sobrecargas

AddOrGetExisting(CacheItem, CacheItemPolicy)

Agrega una entrada de caché en la memoria caché utilizando la instancia especificada de CacheItem y los detalles sobre cómo expulsar la entrada.

AddOrGetExisting(String, Object, DateTimeOffset, String)

Agrega una entrada de caché en la memoria caché utilizando la clave especificada y un valor, y un valor de expiración absoluta.

AddOrGetExisting(String, Object, CacheItemPolicy, String)

Inserta una entrada en la memoria caché utilizando la clave especificada y un valor, así como los detalles especificados sobre cómo debe expulsarse la entrada.

Comentarios

Las AddOrGetExisting sobrecargas del método se usan para insertar una entrada de caché en la memoria caché. Si no existe una entrada de caché con una clave coincidente, estos métodos insertan una nueva entrada. Si ya existe una entrada de caché con una clave coincidente, devuelven la entrada existente.

AddOrGetExisting(CacheItem, CacheItemPolicy)

Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs

Agrega una entrada de caché en la memoria caché utilizando la instancia especificada de CacheItem y los detalles sobre cómo expulsar la entrada.

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

Parámetros

item
CacheItem

Objeto que se va a agregar.

policy
CacheItemPolicy

Objeto que contiene detalles sobre la expulsión de la entrada de caché. Este objeto proporciona más opciones de expulsión que una simple expiración absoluta.

Devoluciones

Si existe una entrada de caché con la misma clave, se devuelve la entrada de caché existente; en caso contrario, se devuelve null.

Excepciones

La propiedad Value es null.

Los valores de expiración absolutos y variables del objeto CacheItemPolicy se establecen en valores distintos de los valores predeterminados de los campos InfiniteAbsoluteExpiration y NoSlidingExpiration. La clase MemoryCache no puede establecer una directiva de caducidad basada en una combinación de una fecha de expiración absoluta y una fecha de expiración variable. Se puede establecer solo uno valor de expiración explícitamente al usar la instancia MemoryCache. El otro valor de expiración debe estar establecido en el campo InfiniteAbsoluteExpiration o el campo NoSlidingExpiration.

La propiedad SlidingExpiration está establecida en un valor menor que Zero.

o bien

La propiedad SlidingExpiration se establece en un valor superior a un año.

o bien

La propiedad Priority no es un valor de la enumeración CacheItemPriority.

Comentarios

El item parámetro proporciona la clave y el valor que usa el método . Si la memoria caché tiene una entrada de caché con la misma clave que la clave del item parámetro , el método devuelve la entrada existente como una CacheItem instancia. Si no hay ninguna entrada de caché existente, el método crea uno nuevo mediante la clave y el valor proporcionados por el item parámetro y con los detalles de expulsión especificados por policy.

Advertencia

Las sobrecargas del método Add y AddOrGetExisting no admiten la propiedad UpdateCallback. Por consiguiente, para establecer la propiedad UpdateCallback para una entrada de la memoria caché, use las sobrecargas del método Set en su lugar.

Se aplica a

AddOrGetExisting(String, Object, DateTimeOffset, String)

Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs

Agrega una entrada de caché en la memoria caché utilizando la clave especificada y un valor, y un valor de expiración absoluta.

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

Parámetros

key
String

Un identificador único para la entrada de caché que se va a agregar.

value
Object

Datos de la entrada de caché.

absoluteExpiration
DateTimeOffset

Fecha y hora fijas a las que expirará la entrada de caché.

regionName
String

Región con nombre de la memoria caché a la que se puede agregar una entrada de caché. No pase un valor para este parámetro. De manera predeterminada, este parámetro es null porque la clase MemoryCache no implementa regiones.

Devoluciones

Si existe una entrada de caché con la misma clave, se devuelve la entrada de caché existente; en caso contrario, se devuelve null.

Excepciones

value no es null.

regionName no es null.

Los valores de expiración absolutos y variables del objeto CacheItemPolicy se establecen en valores distintos de los valores predeterminados de los campos InfiniteAbsoluteExpiration y NoSlidingExpiration. La clase MemoryCache no puede establecer una directiva de caducidad basada en una combinación de una fecha de expiración absoluta y una fecha de expiración variable. Se puede establecer solo uno valor de expiración explícitamente al usar la instancia MemoryCache. El otro valor de expiración se debe establecer en InfiniteAbsoluteExpiration o NoSlidingExpiration.

La propiedad SlidingExpiration está establecida en un valor menor que Zero.

o bien

La propiedad SlidingExpiration se establece en un valor superior a un año.

o bien

La propiedad Priority no es un valor de la enumeración CacheItemPriority.

Comentarios

Si la memoria caché no tiene una entrada de caché cuya clave coincide con el key parámetro , se crea una nueva entrada de caché y la sobrecarga del MemoryCache.AddOrGetExisting método devuelve null. Si existe una entrada de caché coincidente, se devuelve la entrada existente.

Advertencia

Las sobrecargas del método Add y AddOrGetExisting no admiten la propiedad UpdateCallback. Por consiguiente, para establecer la propiedad UpdateCallback para una entrada de la memoria caché, use las sobrecargas del método Set en su lugar.

Se aplica a

AddOrGetExisting(String, Object, CacheItemPolicy, String)

Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs
Source:
MemoryCache.cs

Inserta una entrada en la memoria caché utilizando la clave especificada y un valor, así como los detalles especificados sobre cómo debe expulsarse la entrada.

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

Parámetros

key
String

Un identificador único para la entrada de caché que se va a agregar u obtener.

value
Object

Datos de la entrada de caché.

policy
CacheItemPolicy

Objeto que contiene detalles sobre la expulsión de la entrada de caché. Este objeto proporciona más opciones de expulsión que una simple expiración absoluta.

regionName
String

Región con nombre de la memoria caché a la que se puede agregar una entrada de caché. No pase un valor para este parámetro. De manera predeterminada, este parámetro es null, porque la clase MemoryCache no implementa regiones.

Devoluciones

Si ya existe una entrada de caché coincidente, se devuelve la entrada de caché; en caso contrario, se devuelve null.

Excepciones

value es null.

Los valores de expiración absolutos y variables del objeto CacheItemPolicy se establecen en valores distintos de los valores predeterminados de InfiniteAbsoluteExpiration y NoSlidingExpiration. La clase MemoryCache no puede establecer una directiva de caducidad basada en una combinación de una fecha de expiración absoluta y una fecha de expiración variable. Se puede establecer sólo uno valor de expiración explícitamente al usar la clase MemoryCache. El otro valor se debe establecer en InfiniteAbsoluteExpiration o NoSlidingExpiration.

o bien

Se han especificado la devolución de llamada de la eliminación y la devolución de llamada de la actualización para el objeto CacheItemPolicy. MemoryCache sólo permite usar un tipo de devolución de llamada por entrada de la memoria caché.

La propiedad SlidingExpiration está establecida en un valor menor que Zero.

o bien

La propiedad SlidingExpiration se ha establecido en un valor superior a un año.

o bien

La propiedad Priority no es un valor de la enumeración CacheItemPriority.

Comentarios

Advertencia

Las sobrecargas del método Add y AddOrGetExisting no admiten la propiedad UpdateCallback. Por consiguiente, para establecer la propiedad UpdateCallback para una entrada de la memoria caché, use las sobrecargas del método Set en su lugar.

Se aplica a