MemoryCache.Set 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
Set(CacheItem, CacheItemPolicy) |
Inserta una entrada en la memoria caché utilizando una instancia de CacheItem para proporcionar la clave y el valor de la entrada. |
Set(String, Object, DateTimeOffset, String) |
Inserta una entrada en la memoria caché utilizando una clave, un valor y los detalles especificados sobre la expiración basada en el tiempo. |
Set(String, Object, CacheItemPolicy, String) |
Inserta una entrada en la memoria caché utilizando una clave, un valor y los detalles referentes a la expulsión. |
Comentarios
Si la entrada especificada no existe, se crea. Si existe la entrada especificada, se actualiza.
Set(CacheItem, CacheItemPolicy)
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
Inserta una entrada en la memoria caché utilizando una instancia de CacheItem para proporcionar la clave y el valor de la entrada.
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)
Parámetros
- item
- CacheItem
Objeto que representa una entrada de caché que se va a insertar.
- 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.
Excepciones
Se pasó una combinación no válida de argumentos para la entrada de la memoria caché. Esto se produce si los detalles de expiración siguientes se establecen en el objeto de directiva para la entrada de la memoria caché:
Si los valores de expiración absolutos y deslizantes del CacheItemPolicy objeto 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 en la propiedad NoSlidingExpiration.
Si se especifican la devolución de llamada de eliminación y la devolución de llamada de actualización para CacheItemPolicy el objeto . La clase 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 establece en un valor superior a un año.
o bien
Priority no es un valor de la enumeración CacheItemPriority.
Comentarios
Al igual que otras Set sobrecargas de método, el Set método siempre coloca un valor de caché en la memoria caché, independientemente de si ya existe una entrada que tenga la misma clave. Si la entrada especificada no existe en la memoria caché, se inserta una nueva entrada de caché. Si la entrada especificada ya existe, se actualiza su valor.
Se aplica a
Set(String, Object, DateTimeOffset, String)
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
Inserta una entrada en la memoria caché utilizando una clave, un valor y los detalles especificados sobre la expiración basada en el tiempo.
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)
Parámetros
- key
- String
Identificador único para la entrada de caché que se va a insertar.
- 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.
Excepciones
regionName
no es null
.
Se pasó una combinación no válida de argumentos para la entrada de la memoria caché. Esto se produce si los detalles de expiración siguientes se establecen en el objeto de directiva para la entrada de la memoria caché:
Si los valores de expiración absolutos y deslizantes en el objeto se establecen en CacheItemPolicy valores distintos de los valores predeterminados de InfiniteAbsoluteExpiration y NoSlidingExpiration. Esto se produce porque la clase MemoryCache no permite entradas de expiración basadas tanto en la fecha de expiración absoluta como en la 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.
Si la devolución de llamada de eliminación y la devolución de llamada de actualización se especifican en el CacheItemPolicy objeto . La clase 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 establece en un valor superior a un año.
o bien
- La propiedad Priority no es un valor de la enumeración CacheItemPriority.
Comentarios
Al igual que otras Set sobrecargas de método, el Set método siempre coloca un valor de caché en la memoria caché, independientemente de si ya existe una entrada con la misma clave. Si la entrada especificada no existe, se inserta una nueva entrada de caché. Si existe la entrada especificada, se actualiza.
El absoluteExpiration
parámetro indica cuándo se debe quitar la entrada de la memoria caché.
Al quitar una entrada, se desencadenan los monitores de cambio asociados. Si el elemento quitado estaba asociado a un CacheItemUpdateCallback objeto u CacheItemRemovedCallback objeto, el motivo de la eliminación que se pasa a las devoluciones de llamada se incluye en la Removed propiedad .
Se aplica a
Set(String, Object, CacheItemPolicy, String)
- Source:
- MemoryCache.cs
- Source:
- MemoryCache.cs
Inserta una entrada en la memoria caché utilizando una clave, un valor y los detalles referentes a la expulsión.
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)
Parámetros
- key
- String
Identificador único para la entrada de caché que se va a insertar.
- 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.
Excepciones
key
es null
.
o bien
value
es null
o bien
La referencia de devolución de llamada que se pasó al método del asistente en la propiedad UpdateCallback es null
.
Existe una combinación no válida de argumentos para la entrada de caché. Esto se produce si los detalles de expiración siguientes se establecen en el objeto de directiva para la entrada de la memoria caché:
Si los valores de expiración absolutos y deslizantes en el objeto se establecen en CacheItemPolicy valores distintos de los valores predeterminados de InfiniteAbsoluteExpiration y NoSlidingExpiration. Esto es porque la clase MemoryCache no permite entradas de expiración basadas tanto en la fecha de expiración absoluta como en la 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.
Si se especifican la devolución de llamada de eliminación y la devolución de llamada de actualización en CacheItemPolicy la clase . La clase 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 establece en un valor superior a un año.
o bien
La propiedad Priority no es un valor de la enumeración CacheItemPriority.
regionName
no es null
.
Comentarios
Al igual que otras Set sobrecargas de método, el Set método siempre coloca un valor de caché en la memoria caché, independientemente de si ya existe una entrada coincidente. Si la entrada especificada no existe en la memoria caché, se inserta una nueva entrada de caché. Si existe la entrada especificada, se actualiza.
Al quitar una entrada, se desencadenan los monitores de cambio asociados. Si el elemento quitado estaba asociado a un CacheItemUpdateCallback objeto u CacheItemRemovedCallback objeto, el motivo de la eliminación que se pasa a las devoluciones de llamada se incluye en la Removed propiedad .