Cache Cache Cache Cache Class

Definizione

Implementa la cache per un'applicazione Web.Implements the cache for a Web application. Questa classe non può essere ereditata.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
Ereditarietà
CacheCacheCacheCache
Implementazioni

Esempi

Nell'esempio seguente è una pagina in cui viene visualizzato il valore assegnato a un elemento nella cache e successivamente viene notificato quando l'elemento viene rimosso dalla cache.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 una RemovedCallback metodo, che ha la firma del CacheItemRemovedCallback delegato, per notificare agli utenti quando viene rimosso l'elemento della cache e Usa il CacheItemRemovedReason enumerazione per indicare il motivo per cui è stata rimossa.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. Usa inoltre il Cache.Item[String] proprietà per aggiungere oggetti alla cache e recuperare il valore di tali oggetti.In addition, it uses the Cache.Item[String] property to add objects to the cache and retrieve the value of those objects. Nel AddItemToCache metodo, viene utilizzato il Cache.Add metodo per aggiungere un elemento alla cache.In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. Usare la CacheItemRemovedCallback delegato, è necessario aggiungere un elemento alla cache con questo metodo o il Cache.Insert metodo, in modo che ASP.NET può apportare automaticamente il metodo appropriato viene chiamato quando l'elemento viene rimosso.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. Personalizzata RemoveItemFromCache metodo viene utilizzato il Cache.Remove metodo per eliminare in modo esplicito l'elemento dalla cache, causando la RemovedCallback metodo da richiamare.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

L'istanza di Cache a cui accede il frammento di codice seguente è un membro del Page oggetto che eredita in questo esempio.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>

Commenti

Un'istanza di questa classe viene creata per ogni dominio dell'applicazione e rimane valido fino a quando il dominio dell'applicazione rimane attivo.One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. Informazioni su un'istanza di questa classe sono disponibile tramite il Cache proprietà del HttpContext oggetto o il Cache proprietà del Page oggetto.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

Il Cache classe non deve essere utilizzata all'esterno delle applicazioni ASP.NET.The Cache class is not intended for use outside of ASP.NET applications. È stato progettato e testato per l'uso di ASP.NET per fornire la memorizzazione nella cache per le applicazioni Web.It was designed and tested for use in ASP.NET to provide caching for Web applications. Per altri tipi di applicazioni, ad esempio le applicazioni console o Windows Form, usare il ObjectCache classe.For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

Costruttori

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

Inizializza una nuova istanza della classe Cache.Initializes a new instance of the Cache class.

Campi

NoAbsoluteExpiration NoAbsoluteExpiration NoAbsoluteExpiration NoAbsoluteExpiration

Viene utilizzato nel parametro absoluteExpiration in una chiamata al metodo Insert(String, Object) per indicare che è necessario che l'elemento non abbia alcuna scadenza.Used in the absoluteExpiration parameter in an Insert(String, Object) method call to indicate the item should never expire. Questo campo è di sola lettura.This field is read-only.

NoSlidingExpiration NoSlidingExpiration NoSlidingExpiration NoSlidingExpiration

Utilizzato come parametro slidingExpiration in una chiamata al metodo Insert(String, Object) o Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) per disabilitare le scadenze variabili.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. Questo campo è di sola lettura.This field is read-only.

Proprietà

Count Count Count Count

Ottiene il numero di elementi archiviati nella cache.Gets the number of items stored in the cache.

EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit

Ottiene la percentuale di memoria fisica utilizzabile da un'applicazione prima che ASP.NET avvii la rimozione di elementi dalla cache.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

Ottiene il numero di byte disponibili per la cache.Gets the number of bytes available for the cache.

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

Recupera o imposta la voce di cache nella chiave specificata.Gets or sets the cache item at the specified key.

Metodi

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)

Aggiunge l'elemento specificato all'oggetto Cache con dipendenze e criteri di scadenza e priorità, nonché un delegato da utilizzare per notificare all'applicazione la rimozione dell'elemento inserito dalla 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 se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Recupera l'elemento specificato dall'oggetto Cache.Retrieves the specified item from the Cache object.

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

Recupera un enumeratore di dizionari usato per scorrere le impostazioni delle chiavi e i relativi valori contenuti nella cache.Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Inserisce un elemento nell'oggetto Cache con una chiave di cache per fare riferimento alla relativa posizione, utilizzando i valori predefiniti forniti dall'enumerazione 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)

Inserisce un oggetto nella Cache con dipendenze di file o chiave.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)

Inserisce un oggetto nella Cache con dipendenze e criteri di scadenza.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)

Inserisce un oggetto nell'oggetto Cache con dipendenze e criteri di scadenza e priorità, nonché un delegato da utilizzare per notificare all'applicazione quando l'elemento inserito viene rimosso dalla Cache.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)

Inserisce un oggetto nell'oggetto Cache, insieme alle dipendenze, ai criteri di scadenza e a un delegato che è possibile utilizzare per inviare una notifica all'applicazione prima che l'elemento venga rimosso dalla cache.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 superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Rimuove l'elemento specificato dall'oggetto Cache dell'applicazione.Removes the specified item from the application's Cache object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Restituisce un enumeratore che può scorrere l'insieme dell'oggetto Cache.Returns an enumerator that can iterate through the Cache object collection.

Extension Methods

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

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

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

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

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

Consente la parallelizzazione di una query.Enables parallelization of a query.

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

Converte un' IEnumerable a un IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Thread safety

Questo tipo è thread-safe.This type is thread safe.

Vedi anche