Cache Cache Cache Cache Class

Definición

Implementa la caché para una aplicación web.Implements the cache for a Web application. Esta clase no puede heredarse.This class cannot be inherited.

public ref class Cache sealed : System::Collections::IEnumerable
public sealed class Cache : System.Collections.IEnumerable
type Cache = class
    interface IEnumerable
Public NotInheritable Class Cache
Implements IEnumerable
Herencia
CacheCacheCacheCache
Implementaciones

Ejemplos

El ejemplo siguiente es una página que muestra a los usuarios el valor asignado a un elemento en la memoria caché y, a continuación, los notifica cuando el elemento se quita de la memoria caché.The following example is a page that shows users the value assigned to an item in the cache, and then notifies them when the item is removed from the cache. Crea un RemovedCallback método, que tiene la firma CacheItemRemovedCallback del delegado, para notificar a los usuarios cuando se quita el elemento de la memoria caché y CacheItemRemovedReason utiliza la enumeración para indicarles por qué se quitó.It creates a RemovedCallback method, which has the signature of the CacheItemRemovedCallback delegate, to notify users when the cache item is removed, and it uses the CacheItemRemovedReason enumeration to tell them why it was removed. Además, utiliza la Cache.Item[String] propiedad para agregar objetos a la memoria caché y recuperar el valor de esos objetos.In addition, it uses the Cache.Item[String] property to add objects to the cache and retrieve the value of those objects. En el AddItemToCache método, usa el Cache.Add método para agregar un elemento a la memoria caché.In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. Para usar el CacheItemRemovedCallback delegado, debe agregar un elemento a la memoria caché con este método o el Cache.Insert método, de modo que ASP.net pueda realizar automáticamente las llamadas de método adecuadas cuando se quite el elemento.To use the CacheItemRemovedCallback delegate, you must add an item to the cache with this method or the Cache.Insert method, so that ASP.NET can automatically make the proper method calls when the item is removed. El método RemoveItemFromCache personalizado usa el Cache.Remove método para eliminar explícitamente el elemento de la memoria caché, RemovedCallback lo que hace que se invoque el método.The custom RemoveItemFromCache method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback method to be invoked.

Nota

La instancia de caché a la que tiene acceso el siguiente fragmento de código es un miembro Page del objeto que este ejemplo hereda.The instance of Cache that is accessed by the snippet below is a member of the Page object that this sample inherits.

<html>
 <Script runat=server language="C#">
// <snippet2>
    static bool itemRemoved = false;
    static CacheItemRemovedReason reason;
    CacheItemRemovedCallback onRemove = null;

    public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){
      itemRemoved = true;
      reason = r;
    }
// </snippet2>

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

// <snippet4>
    public void RemoveItemFromCache(Object sender, EventArgs e) {
        if(Cache["Key1"] != null)
          Cache.Remove("Key1");
    }
// </snippet4>
 </Script>
 <body>
  <Form runat="server">
   <input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
   <input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
  </Form>
  <% if (itemRemoved) {
        Response.Write("RemovedCallback event raised.");
        Response.Write("<BR>");
        Response.Write("Reason: <B>" + reason.ToString() + "</B>");
     }
     else {
// <snippet5>
        Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
// </snippet5>
     }
  %>
 </body>
</html>
<%@ Page Language="VB" %>

<html>
 <Script runat=server>
' <snippet2>
    Shared itemRemoved As boolean = false
    Shared reason As CacheItemRemovedReason
    Dim onRemove As CacheItemRemovedCallback

    Public Sub RemovedCallback(k As String, v As Object, r As CacheItemRemovedReason)
      itemRemoved = true
      reason = r
    End Sub
' </snippet2>

' <snippet3>
    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
' </snippet3>

' <snippet4>
    Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)
        If (Not IsNothing(Cache("Key1"))) Then
          Cache.Remove("Key1")
        End If
    End Sub
' </snippet4>
 </Script>

 <body>
  <Form runat="server">
    <input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
    <input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
  </Form>
<%
If (itemRemoved) Then
    Response.Write("RemovedCallback event raised.")
    Response.Write("<BR>")
    Response.Write("Reason: <B>" + reason.ToString() + "</B>")
Else
' <snippet5>
    Response.Write("Value of cache key: <B>" + Server.HtmlEncode(CType(Cache("Key1"),String)) + "</B>")
' </snippet5>
End If
%>
 </body>
</html>

Comentarios

Se crea una instancia de esta clase por dominio de aplicación y permanece válida siempre que el dominio de aplicación permanezca activo.One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. La información sobre una instancia de esta clase está disponible a Cache través HttpContext de la propiedad del objeto Cache Page o la propiedad del objeto.Information about an instance of this class is available through the Cache property of the HttpContext object or the Cache property of the Page object.

Nota

La Cache clase no está pensada para su uso fuera de las aplicaciones de ASP.net.The Cache class is not intended for use outside of ASP.NET applications. Se ha diseñado y probado para su uso en ASP.NET para proporcionar almacenamiento en caché para las aplicaciones Web.It was designed and tested for use in ASP.NET to provide caching for Web applications. Para otros tipos de aplicaciones, como aplicaciones de consola o aplicaciones Windows Forms, use la ObjectCache clase.For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

Constructores

Cache() Cache() Cache() Cache()

Inicializa una nueva instancia de la clase Cache.Initializes a new instance of the Cache class.

Campos

NoAbsoluteExpiration NoAbsoluteExpiration NoAbsoluteExpiration NoAbsoluteExpiration

Se utiliza en el parámetro absoluteExpiration de una llamada al método Insert(String, Object) para indicar que el elemento no debe expirar nunca.Used in the absoluteExpiration parameter in an Insert(String, Object) method call to indicate the item should never expire. Este campo es de solo lectura.This field is read-only.

NoSlidingExpiration NoSlidingExpiration NoSlidingExpiration NoSlidingExpiration

Se utiliza como el parámetro slidingExpiration en una llamada al método Insert(String, Object) o Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)para deshabilitar las expiraciones variables.Used as the slidingExpiration parameter in an Insert(String, Object) or Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) method call to disable sliding expirations. Este campo es de solo lectura.This field is read-only.

Propiedades

Count Count Count Count

Obtiene el número de elementos almacenados en la memoria caché.Gets the number of items stored in the cache.

EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit

Obtiene el porcentaje de memoria física que puede utilizar una aplicación antes de que ASP.NET comience a quitar elementos de la caché.Gets the percentage of physical memory that can be consumed by an application before ASP.NET starts removing items from the cache.

EffectivePrivateBytesLimit EffectivePrivateBytesLimit EffectivePrivateBytesLimit EffectivePrivateBytesLimit

Obtiene el número de bytes disponible para la caché.Gets the number of bytes available for the cache.

Item[String] Item[String] Item[String] Item[String]

Obtiene o establece el elemento en caché de la clave especificada.Gets or sets the cache item at the specified key.

Métodos

Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

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.Adds the specified item to the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Get(String) Get(String) Get(String) Get(String)

Recupera el elemento especificado del objeto Cache.Retrieves the specified item from the Cache object.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Recupera un enumerador de diccionario usado para procesar una iteración en la configuración de clave y sus valores incluidos en la memoria caché.Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
Insert(String, Object) Insert(String, Object) Insert(String, Object) Insert(String, Object)

Inserta un elemento en el objeto Cache con una clave de caché para hacer referencia a su ubicación y utilizando los valores predeterminados que proporciona la enumeración de CacheItemPriority.Inserts an item into the Cache object with a cache key to reference its location, using default values provided by the CacheItemPriority enumeration.

Insert(String, Object, CacheDependency) Insert(String, Object, CacheDependency) Insert(String, Object, CacheDependency) Insert(String, Object, CacheDependency)

Inserta un objeto en Cache que tiene dependencias de archivo o de clave.Inserts an object into the Cache that has file or key dependencies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan) Insert(String, Object, CacheDependency, DateTime, TimeSpan) Insert(String, Object, CacheDependency, DateTime, TimeSpan) Insert(String, Object, CacheDependency, DateTime, TimeSpan)

Inserta un objeto en Cache con dependencias y directivas de expiración.Inserts an object into the Cache with dependencies and expiration policies.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

Inserta un objeto en el 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 se quita de la memoria Cache el elemento insertado.Inserts an object into the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

Inserta un objeto en el objeto Cache junto con las dependencias, las directivas de expiración y un delegado que puede usar para notificar a la aplicación antes de que se quite el elemento de la memoria caché.Inserts an object into the Cache object together with dependencies, expiration policies, and a delegate that you can use to notify the application before the item is removed from the cache.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(String) Remove(String) Remove(String) Remove(String)

Quita el elemento especificado del objeto Cache de la aplicación.Removes the specified item from the application's Cache object.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Devuelve un enumerador que puede recorrer en iteración la colección de objetos Cache.Returns an enumerator that can iterate through the Cache object collection.

Métodos de extensión

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.This type is thread safe.

Consulte también: