MemoryCache.AddOrGetExisting Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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
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.