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 1
60 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.