Cache Cache Cache Cache Class

Definition

Implementiert den Cache für eine Webanwendung.Implements the cache for a Web application. Diese Klasse kann nicht vererbt werden.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
Vererbung
CacheCacheCacheCache
Implementiert

Beispiele

Im folgenden Beispiel wird eine Seite angezeigt, auf der Benutzer den einem Element im Cache zugewiesenen Wert anzeigen und dann benachrichtigt werden, wenn das Element aus dem Cache entfernt wird.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. Er erstellt eine RemovedCallback Methode, die über die Signatur CacheItemRemovedCallback des Delegaten verfügt, um Benutzer zu benachrichtigen, wenn das Cache Element entfernt wird, und CacheItemRemovedReason verwendet die-Enumeration, um Ihnen mitzuteilen, warum Sie entfernt wurde.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. Außerdem wird die Cache.Item[String] -Eigenschaft verwendet, um dem Cache Objekte hinzuzufügen und den Wert dieser Objekte abzurufen.In addition, it uses the Cache.Item[String] property to add objects to the cache and retrieve the value of those objects. In der AddItemToCache -Methode wird die Cache.Add -Methode verwendet, um dem Cache ein Element hinzuzufügen.In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. Wenn Sie den CacheItemRemovedCallback -Delegaten verwenden möchten, müssen Sie dem Cache mit dieser Methode oder der Cache.Insert -Methode ein Element hinzufügen, damit ASP.NET automatisch die richtigen Methodenaufrufe durchführen kann, wenn das Element entfernt wird.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. Die Benutzer RemoveItemFromCache definierte Methode verwendet Cache.Remove die-Methode, um das Element explizit aus dem Cache zu RemovedCallback löschen, wodurch die-Methode aufgerufen wird.The custom RemoveItemFromCache method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback method to be invoked.

Hinweis

Die Cache Instanz, auf die der folgende Code Ausschnitt zugreift, ist ein Member des Page -Objekts, das in diesem Beispiel erbt.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>

Hinweise

Eine Instanz dieser Klasse wird pro Anwendungsdomäne erstellt und bleibt gültig, solange die Anwendungsdomäne aktiv bleibt.One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. Informationen zu einer Instanz dieser Klasse Cache sind über die-Eigenschaft HttpContext des-Objekts Page oder die Cache -Eigenschaft des-Objekts verfügbar.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.

Hinweis

Die Cache -Klasse ist nicht für die Verwendung außerhalb von ASP.NET-Anwendungen vorgesehen.The Cache class is not intended for use outside of ASP.NET applications. Es wurde für die Verwendung in ASP.net entworfen und getestet, um das Zwischenspeichern für Webanwendungen bereitzustellen.It was designed and tested for use in ASP.NET to provide caching for Web applications. Verwenden Sie für andere Anwendungs Typen, z. b. Konsolen Anwendungen oder Windows Forms Anwendungen ObjectCache , die-Klasse.For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

Konstruktoren

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

Initialisiert eine neue Instanz der Cache-Klasse.Initializes a new instance of the Cache class.

Felder

NoAbsoluteExpiration NoAbsoluteExpiration NoAbsoluteExpiration NoAbsoluteExpiration

Wird im absoluteExpiration-Parameter in einem Insert(String, Object)-Methodenaufruf verwendet, um anzugeben, dass das Element nie ablaufen soll.Used in the absoluteExpiration parameter in an Insert(String, Object) method call to indicate the item should never expire. Dieses Feld ist schreibgeschützt.This field is read-only.

NoSlidingExpiration NoSlidingExpiration NoSlidingExpiration NoSlidingExpiration

Wird als slidingExpiration-Parameter in einem Insert(String, Object)-Methodenaufruf oder Add(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)-Methodenaufruf verwendet, um die gleitende Ablaufzeit zu deaktivieren.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. Dieses Feld ist schreibgeschützt.This field is read-only.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der Elemente im Cache ab.Gets the number of items stored in the cache.

EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit EffectivePercentagePhysicalMemoryLimit

Ruft den Prozentsatz des physischen Arbeitsspeichers ab, der von einer Anwendung verbraucht werden kann, bevor ASP.NET damit beginnt, Elemente aus dem Cache zu entfernen.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

Ruft die Anzahl der Bytes ab, die für den Cache zur Verfügung steht.Gets the number of bytes available for the cache.

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

Ruft das Element im Cache am angegebenen Schlüssel ab oder legt dieses fest.Gets or sets the cache item at the specified key.

Methoden

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)

Fügt dem Cache-Objekt das angegebene Element mit Abhängigkeiten, Ablauf- und Prioritätsrichtlinien sowie einem Delegaten hinzu, mit dem die Anwendung über das Entfernen des eingefügten Elements aus demCache benachrichtigt werden kann.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)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Ruft das angegebene Element aus dem Cache-Objekt ab.Retrieves the specified item from the Cache object.

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

Ruft einen Wörterbuchenumerator ab, der für das Durchlaufen der Schlüsseleinstellungen und ihrer Werte im Cache verwendet wird.Retrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Fügt ein Element mit einem Cacheschlüssel, der auf den Speicherort verweist, in das Cache-Objekt ein, wobei von der CacheItemPriority-Enumeration bereitgestellte Standardwerte verwendet werden.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)

Fügt ein Objekt in den Cache ein, das Datei- oder Schlüsselabhängigkeiten besitzt.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)

Fügt ein Objekt mit Abhängigkeiten und Ablaufrichtlinien in den Cache ein.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)

Fügt ein Objekt in das Cache-Objekt ein, einschließlich von Abhängigkeiten, Ablauf- und Prioritätsrichtlinien sowie einem Delegaten, mit dem die Anwendung über das Entfernen des eingefügten Elements aus Cache benachrichtigt werden kann.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)

Fügt ein Objekt in das Cache-Objekt mit Abhängigkeiten, Ablaufrichtlinien sowie einem Delegaten ein, mit dem die Anwendung vor dem Entfernen des Elements aus dem Cache benachrichtigt werden kann.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()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Entfernt das angegebene Element aus dem Cache-Objekt der Anwendung.Removes the specified item from the application's Cache object.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

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

Gibt einen Enumerator zurück, der die Cache-Objektauflistung durchlaufen kann.Returns an enumerator that can iterate through the Cache object collection.

Erweiterungsmethoden

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

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

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

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

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

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

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

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Threadsicherheit

Dieser Typ ist threadsicher.This type is thread safe.

Siehe auch