Cache.Add 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í.
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.