MemoryCache.Set Método

Definición

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

item es null.

O bien

La Key propiedad es null.

O bien

La Value propiedad es null.

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 .

key es null.

O bien

value es null.

  • 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

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 .

Se aplica a