Cache.Add Método

Definición

Agrega el elemento especificado al Cache objeto con dependencias, directivas de expiración y prioridad, y un delegado que puede usar para notificar a la aplicación cuando se quita el elemento insertado de Cache.

public:
 System::Object ^ Add(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public object Add(string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Add : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> obj
Public Function Add (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, priority As CacheItemPriority, onRemoveCallback As CacheItemRemovedCallback) As Object

Parámetros

key
String

Clave de caché usada para hacer referencia al elemento.

value
Object

Elemento que se va a agregar a la memoria caché.

dependencies
CacheDependency

Dependencias de clave de archivo o caché para el elemento. Cuando cambia cualquier dependencia, el objeto deja de ser válido y se quita de la memoria caché. Si no hay dependencias, este parámetro contiene null.

absoluteExpiration
DateTime

Hora en la que expira el objeto agregado y se quita de la memoria caché. Si usa la expiración deslizante, el absoluteExpiration parámetro debe ser NoAbsoluteExpiration.

slidingExpiration
TimeSpan

Intervalo entre la hora en que se accedió por última vez al objeto agregado y la hora en que expira ese objeto. Si este valor es el equivalente de 20 minutos, el objeto expira y se quita de la memoria caché 20 minutos después de que se acceda por última vez. Si usa la expiración absoluta, el slidingExpiration parámetro debe ser NoSlidingExpiration.

priority
CacheItemPriority

Costo relativo del objeto, expresado por la CacheItemPriority enumeración. La memoria caché usa este valor cuando expulsa objetos; Los objetos con un costo menor se quitan de la memoria caché antes de que los objetos con un costo mayor.

onRemoveCallback
CacheItemRemovedCallback

Delegado al que, si se proporciona, se llama cuando se quita un objeto de la memoria caché. Puede usarlo para notificar a las aplicaciones cuando sus objetos se eliminan de la memoria caché.

Devoluciones

Objeto que representa el elemento que se agregó si el elemento se almacenó previamente en la memoria caché; de lo contrario, null.

Excepciones

El key parámetro o value se establece en null.

El slidingExpiration parámetro se establece en menor o más de TimeSpan.Zero un año.

Los absoluteExpiration parámetros y slidingExpiration se establecen para el elemento que está intentando agregar a Cache.

Ejemplos

En el ejemplo siguiente se crea un AddItemToCache método . Cuando se llama a false este método, establece una itemRemoved propiedad en y registra un onRemove método con una nueva instancia del CacheItemRemovedCallback delegado. La firma del delegado se usa en el RemovedCallback método . A continuación, el AddItemToCache método comprueba el valor asociado a la Key1 clave en la memoria caché. Si el valor es null, el Add método coloca un elemento en la memoria caché con una clave de Key1, un valor de , una expiración absoluta de Value 160 segundos y una prioridad de caché alta. También usa el onRemove método como argumento. Esto permite RemovedCallback llamar al método cuando se quita este elemento de la memoria caché.

Note

Para obtener ejemplos de cómo usar la CacheDependency clase y el CacheItemRemovedCallback delegado, consulte Almacenamiento en caché de datos de la aplicación.

public void AddItemToCache(Object sender, EventArgs e) {
    itemRemoved = false;

    onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
Public Sub AddItemToCache(sender As Object, e As EventArgs)
    itemRemoved = false

    onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

    If (IsNothing(Cache("Key1"))) Then
      Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
    End If
End Sub

Comentarios

Las llamadas a este método producirán un error en modo silencioso si un elemento con el mismo key parámetro ya está almacenado en .Cache Para sobrescribir un elemento existente Cache mediante el mismo key parámetro, use el Insert método .

No se pueden establecer los absoluteExpiration parámetros y slidingExpiration . Si piensa que el elemento de caché expire en un momento específico, establezca el absoluteExpiration parámetro en la hora específica y el slidingExpiration parámetro en NoSlidingExpiration.

Si piensa que el elemento de caché expire después de que haya transcurrido una determinada cantidad de tiempo desde que se accedió por última vez al elemento, establezca el slidingExpiration parámetro en el intervalo de expiración y el absoluteExpiration parámetro en NoAbsoluteExpiration.

Se aplica a

Consulte también