Comparteix a través de


MemoryCache.Set Método

Definición

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
Source:
MemoryCache.cs
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

item es null.

o bien

La propiedad Key es null.

o bien

La propiedad Value 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 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
Source:
MemoryCache.cs
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.

key es null.

O bien

Value 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

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
Source:
MemoryCache.cs
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 .

Se aplica a