Cache.Add (Método) (System.Web.Caching)

Cambiar vista:
Sin script
Biblioteca de clases de .NET Framework
Cache.Add (Método)
Este artículo se tradujo de forma manual. Para mostrar esta página y el contenido original en inglés al mismo tiempo, cambie a Lightweight según sus preferencias de visualizació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.

Espacio de nombres:  System.Web.Caching
Ensamblado:  System.Web (en System.Web.dll)
Sintaxis

Visual Basic
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
C#
public Object Add(
	string key,
	Object value,
	CacheDependency dependencies,
	DateTime absoluteExpiration,
	TimeSpan slidingExpiration,
	CacheItemPriority priority,
	CacheItemRemovedCallback onRemoveCallback
)
Visual C++
public:
Object^ Add(
	String^ key, 
	Object^ value, 
	CacheDependency^ dependencies, 
	DateTime absoluteExpiration, 
	TimeSpan slidingExpiration, 
	CacheItemPriority priority, 
	CacheItemRemovedCallback^ onRemoveCallback
)
F#
member Add : 
        key:string * 
        value:Object * 
        dependencies:CacheDependency * 
        absoluteExpiration:DateTime * 
        slidingExpiration:TimeSpan * 
        priority:CacheItemPriority * 
        onRemoveCallback:CacheItemRemovedCallback -> Object 

Parámetros

key
Tipo: System.String
Clave de caché utilizada para hacer referencia al elemento.
value
Tipo: System.Object
Elemento que se va a agregar a la memoria caché.
dependencies
Tipo: System.Web.Caching.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 Nothing.
absoluteExpiration
Tipo: System.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
Tipo: System.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
Tipo: System.Web.Caching.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
Tipo: System.Web.Caching.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é.

Valor devuelto

Tipo: System.Object
Objeto que representa el elemento que se agregó si el elemento estaba almacenado anteriormente en la memoria caché; de lo contrario, Nothing.
Excepciones

Excepción Condición
ArgumentNullException

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

ArgumentOutOfRangeException

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

ArgumentException

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

Comentarios

Las llamadas a este método generarán un error si un elemento con el mismo parámetro key ya está almacenado en Cache. Para reemplazar un elemento Cache existente mediante el mismo parámetro key, utilice el método Insert.

No puede establecer los parámetros absoluteExpiration y slidingExpiration al mismo tiempo. Si desea que el elemento de la caché expire a una hora determinada, establezca el parámetro absoluteExpiration en esa hora y el parámetro slidingExpiration en NoSlidingExpiration.

Si desea que el elemento de la caché expire después de transcurrido un período de tiempo determinado a partir del momento en que se haya tenido acceso a él por última vez, establezca el parámetro slidingExpiration en el intervalo de expiración y el parámetro absoluteExpiration en NoAbsoluteExpiration.

Ejemplos

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

Nota Nota

Para obtener ejemplos de cómo utilizar la clase CacheDependency y el delegado CacheItemRemovedCallback, vea Almacenar en caché datos de la aplicación.

Visual Basic

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


C#

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);
}


Información de versión

.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Plataformas

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Vea también

Referencia

Otros recursos