Cache Clase
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í.
Implementa la memoria caché de una aplicación web. Esta clase no puede heredarse.
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
-
Cache
- Implementaciones
Ejemplos
El ejemplo siguiente es una página que muestra a los usuarios el valor asignado a un elemento de la memoria caché y, a continuación, los notifica cuando el elemento se quita de la memoria caché. Crea un RemovedCallback método, que tiene la firma del CacheItemRemovedCallback delegado, para notificar a los usuarios cuándo se quita el elemento de caché y usa la CacheItemRemovedReason enumeración para indicarles por qué se quitó. Además, usa la Cache.Item[] propiedad para agregar objetos a la memoria caché y recuperar el valor de esos objetos. En el AddItemToCache método , usa el Cache.Add método para agregar un elemento a la memoria caché. Para usar el delegado CacheItemRemovedCallback, debe agregar un elemento a la memoria caché con este método o al método Cache.Insert, de modo que ASP.NET pueda realizar automáticamente las llamadas al método adecuado cuando se quita el elemento. El método personalizado RemoveItemFromCache usa el Cache.Remove método para eliminar explícitamente el elemento de la memoria caché, lo que hace que se invoque el RemovedCallback método .
Note
La instancia de Caché a la que accede el fragmento de código siguiente es un miembro del Page objeto que hereda este ejemplo.
<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 sigue siendo válida siempre que el dominio de aplicación permanezca activo. La información sobre una instancia de esta clase está disponible a través de la Cache propiedad del HttpContext objeto o la Cache propiedad del Page objeto .
Note
La clase />
Constructores
| Nombre | Description |
|---|---|
| Cache() |
Inicializa una nueva instancia de la clase Cache. |
Campos
| Nombre | Description |
|---|---|
| NoAbsoluteExpiration |
Se usa en el |
| NoSlidingExpiration |
Se usa como parámetro |
Propiedades
| Nombre | Description |
|---|---|
| Count |
Obtiene el número de elementos almacenados en la memoria caché. |
| EffectivePercentagePhysicalMemoryLimit |
Obtiene el porcentaje de memoria física que puede consumir una aplicación antes de que ASP.NET empiece a quitar elementos de la memoria caché. |
| EffectivePrivateBytesLimit |
Obtiene el número de bytes disponibles para la memoria caché. |
| Item[String] |
Obtiene o establece el elemento de caché en la clave especificada. |
Métodos
| Nombre | Description |
|---|---|
| Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Agrega el elemento especificado al Cache objeto con dependencias, directivas de expiración y prioridad, y un delegado que puede usar para notificar a la aplicación cuando se quita el elemento insertado de |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Get(String) |
Recupera el elemento especificado del Cache objeto . |
| GetEnumerator() |
Recupera un enumerador de diccionario usado para recorrer en iteración la configuración de clave y sus valores contenidos en la memoria caché. |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
Inserta un objeto en el Cache objeto con dependencias, directivas de expiración y prioridad, y un delegado que puede usar para notificar a la aplicación cuando se quita el elemento insertado de |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback) |
Inserta un objeto en el Cache objeto junto con dependencias, directivas de expiración y un delegado que puede usar para notificar a la aplicación antes de quitar el elemento de la memoria caché. |
| Insert(String, Object, CacheDependency, DateTime, TimeSpan) |
Inserta un objeto en Cache con dependencias y directivas de expiración. |
| Insert(String, Object, CacheDependency) |
Inserta un objeto en el Cache que tiene dependencias de archivo o clave. |
| Insert(String, Object) |
Inserta un elemento en el Cache objeto con una clave de caché para hacer referencia a su ubicación, utilizando los valores predeterminados proporcionados por la CacheItemPriority enumeración. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| Remove(String) |
Quita el elemento especificado del objeto de Cache la aplicación. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Devuelve un enumerador que puede recorrer en iteración la colección de Cache objetos. |
Métodos de extensión
| Nombre | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita la paralelización de una consulta. |
| AsQueryable(IEnumerable) |
Convierte un IEnumerable en un IQueryable. |
| Cast<TResult>(IEnumerable) |
Convierte los elementos de un IEnumerable al tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra los elementos de un IEnumerable en función de un tipo especificado. |
Se aplica a
Seguridad para subprocesos
Este tipo es seguro para subprocesos.