Comparteix a través de


Cache.Add Método

Definición

Agrega el elemento especificado al objeto Cache con directivas de dependencias, expiración y prioridad, así como un delegado que se puede utilizar para notificar a la aplicación cuándo el elemento insertado se quita de la memoria 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é utilizada para hacer referencia al elemento.

value
Object

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

dependencies
CacheDependency

Dependencias de archivo o de clave de caché para el elemento. Cuando cambia alguna dependencia, el objeto ya no es válido y se quita de la caché. Si no hay ninguna dependencia, este parámetro contiene null.

absoluteExpiration
DateTime

Hora a la que el objeto agregado expira y se quita de la memoria caché. Si se utiliza una expiración variable, el parámetro absoluteExpiration debe ser NoAbsoluteExpiration.

slidingExpiration
TimeSpan

Intervalo entre la hora a la que se obtuvo por última vez acceso al objeto agregado y la hora a la que expira dicho objeto. Si este valor es el equivalente a 20 minutos, el objeto expirará y se quitará de la memoria caché a los 20 minutos del último acceso. Si se utiliza una expiración absoluta, el parámetro slidingExpiration debe ser NoSlidingExpiration.

priority
CacheItemPriority

Costo relativo del objeto, expresado por la enumeración de CacheItemPriority. La memoria caché utiliza este valor cuando extrae objetos; los objetos de costo inferior se quitan de la memoria caché antes que los objetos con un costo más elevado.

onRemoveCallback
CacheItemRemovedCallback

Delegado al que, si se proporciona, se llama cuando se quita un objeto de la memoria caché. Se puede utilizar para notificar a las aplicaciones cuándo se eliminan los objetos de la memoria caché.

Devoluciones

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

Excepciones

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

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

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

Ejemplos

En el ejemplo siguiente se crea un AddItemToCache método . Cuando se llama a este método, establece una itemRemoved propiedad false 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 AddItemToCache continuación, el método comprueba el valor asociado a la Key1 clave de 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 llamar al RemovedCallback método cuando se quita este elemento de la memoria caché.

Nota

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 silenciosamente si un elemento con el mismo key parámetro ya está almacenado en .Cache Para sobrescribir un elemento existente Cache con el mismo key parámetro, use el Insert método .

No se pueden establecer los absoluteExpiration parámetros y slidingExpiration . Si tiene previsto 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 cantidad determinada 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