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 de caché en la memoria caché.
Sobrecargas
| Nombre | Description |
|---|---|
| Set(CacheItem, CacheItemPolicy) |
Inserta una entrada de caché en la memoria caché mediante una CacheItem instancia para proporcionar la clave y el valor de la entrada de caché. |
| Set(String, Object, DateTimeOffset, String) |
Inserta una entrada de caché en la memoria caché mediante una clave y un valor y especifica los detalles de expiración basados en el tiempo. |
| Set(String, Object, CacheItemPolicy, String) |
Inserta una entrada de caché en la memoria caché mediante una clave y un valor y una expulsión. |
Comentarios
Si la entrada especificada no existe, se crea. Si existe la entrada especificada, se actualiza.
Set(CacheItem, CacheItemPolicy)
Inserta una entrada de caché en la memoria caché mediante una CacheItem instancia para proporcionar la clave y el valor de la entrada de caché.
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 de expulsión para la entrada de caché. Este objeto proporciona más opciones para la expulsión que una expiración absoluta simple.
Excepciones
Se pasó una combinación no válida de argumentos para la entrada de caché. Esto ocurre si los siguientes detalles de expiración se establecen en el objeto de directiva para la entrada de 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 MemoryCache clase no puede establecer la directiva de expiración en función de una expiración absoluta y una expiración deslizante. Solo se puede establecer explícitamente una configuración de expiración cuando se usa la MemoryCache clase . La otra configuración debe establecerse en InfiniteAbsoluteExpiration o NoSlidingExpiration en la propiedad .
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 MemoryCache clase solo admite el uso de un tipo de devolución de llamada por entrada de caché.
La SlidingExpiration propiedad se establece en un valor menor que Zero.
O bien
La SlidingExpiration propiedad se establece en un valor mayor de un año.
O bien
no Priority es un valor de la CacheItemPriority enumeración.
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)
Inserta una entrada de caché en la memoria caché mediante una clave y un valor y especifica los detalles de expiración basados 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 de la entrada de caché que se va a insertar.
- value
- Object
Datos de la entrada de caché.
- absoluteExpiration
- DateTimeOffset
Fecha y hora fijas en las que expirará la entrada de caché.
- regionName
- String
Región con nombre en la memoria caché a la que se puede agregar una entrada de caché. No pase un valor para este parámetro. Este parámetro es null de forma predeterminada, ya que la MemoryCache clase no implementa regiones.
Excepciones
regionName no nulles .
Se pasó una combinación no válida de argumentos para la entrada de caché. Esto ocurre si los siguientes detalles de expiración se establecen en el objeto de directiva para la entrada de 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 ocurre porque la MemoryCache clase no admite entradas de expiración basadas en una expiración absoluta y deslizante. Solo se puede establecer explícitamente una configuración de expiración cuando se usa la MemoryCache clase . La otra configuración debe establecerse 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 MemoryCache clase solo admite el uso de un tipo de devolución de llamada por entrada de caché.
La SlidingExpiration propiedad se establece en un valor menor que Zero.
O bien
La SlidingExpiration propiedad se establece en un valor mayor de un año.
O bien
- La Priority propiedad no es un valor de la CacheItemPriority enumeración.
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 encuentra en la Removed propiedad .
Se aplica a
Set(String, Object, CacheItemPolicy, String)
Inserta una entrada de caché en la memoria caché mediante una clave y un valor y una 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 de la entrada de caché que se va a insertar.
- value
- Object
Datos de la entrada de caché.
- policy
- CacheItemPolicy
Objeto que contiene detalles de expulsión para la entrada de caché. Este objeto proporciona más opciones para la expulsión que una expiración absoluta simple.
- regionName
- String
Región con nombre en la memoria caché a la que se puede agregar una entrada de caché. No pase un valor para este parámetro. Este parámetro es null de forma predeterminada, ya que la MemoryCache clase 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 auxiliar de la UpdateCallback propiedad es null.
Existe una combinación no válida de argumentos para la entrada de caché. Esto ocurre si los siguientes detalles de expiración se establecen en el objeto de directiva para la entrada de 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 debe a que la MemoryCache clase no admite entradas de expiración basadas en una expiración absoluta y deslizante. Solo se puede establecer explícitamente una configuración de expiración cuando se usa la MemoryCache clase . La otra configuración debe establecerse 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 CacheItemPolicy la clase . La MemoryCache clase solo admite el uso de un tipo de devolución de llamada por entrada de caché.
La SlidingExpiration propiedad se establece en un valor menor que Zero.
O bien
La SlidingExpiration propiedad se establece en un valor mayor de un año.
O bien
La Priority propiedad no es un valor de la CacheItemPriority enumeración.
regionName no nulles .
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 encuentra en la Removed propiedad .