Freigeben über


CacheItem Klasse

Definition

Stellt einen individuellen Cacheeintrag im Cache dar.

public ref class CacheItem
public class CacheItem
type CacheItem = class
Public Class CacheItem
Vererbung
CacheItem

Beispiele

Das folgende Beispiel zeigt, wie Sie die CacheItem -Klasse verwenden, um den Inhalt einer Datei als Cacheeintrag zu speichern.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Caching;
using System.IO;

public partial class _Default : System.Web.UI.Page
{

    protected void Button1_Click(object sender, EventArgs e)
    {
        ObjectCache cache = MemoryCache.Default;

        CacheItem fileContents = cache.GetCacheItem("filecontents");

        if (fileContents == null)
        {
            CacheItemPolicy policy = new CacheItemPolicy();

            List<string> filePaths = new List<string>();
            string cachedFilePath = Server.MapPath("~") +
                "\\cacheText.txt";

            filePaths.Add(cachedFilePath);

            policy.ChangeMonitors.Add(new HostFileChangeMonitor(filePaths));

            // Fetch the file contents
            string fileData = File.ReadAllText(cachedFilePath);

            fileContents = new CacheItem("filecontents", fileData);

            cache.Set(fileContents, policy);
        }
        Label1.Text = (fileContents.Value as string);
    }
}
Imports System.Runtime.Caching
Imports System.IO

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim cache As ObjectCache = MemoryCache.Default

        Dim fileContents As CacheItem = cache.GetCacheItem("filecontents")

        If fileContents Is Nothing Then
            Dim policy As New CacheItemPolicy()

            Dim filePaths As New List(Of String)()

            Dim CachedFilePaths As String = Server.MapPath("~") & "\cacheText.txt"

                filePaths.Add(CachedFilePaths)

            policy.ChangeMonitors.Add(New HostFileChangeMonitor(filePaths))

            ' Fetch the file contents 
            Dim fileData As String = File.ReadAllText(CachedFilePaths)

            fileContents = New CacheItem("filecontents", fileData)

            cache.Set(fileContents, policy)
        End If
        Label1.Text = TryCast(fileContents.Value, String)
    End Sub
End Class

Hinweise

Die CacheItem -Klasse bietet eine logische Darstellung eines Cacheeintrags, der mithilfe der RegionName -Eigenschaft Regionen enthalten kann. In der Standard-ASP.NET Cacheimplementierung ist ein Cacheeintrag ein Schlüssel-Wert-Paar.

Einträge im Cache sind keine CacheItem Instanzen. Stattdessen kann der Cacheanbieter Cacheeinträge in jedem geeigneten internen Format speichern. Die Cache-API erfordert jedoch, dass Cacheanbieter Cacheeinträge in CacheItem Instanzen konvertieren können (und umgekehrt).

Benutzerdefinierte Cacheimplementierungen können von der CacheItem -Klasse erben, stellen zusätzliche Informationen zu Cacheeinträgen bereit.

Hinweise für Vererber

Die ObjectCache -Klasse verfügt über Methoden, die das Hinzufügen, Abrufen und Aktualisieren von Cachedaten unterstützen, und alle diese Methoden verfügen über Überladungen, die die CacheItem -Klasse unterstützen. Daher kann eine benutzerdefinierte Cacheimplementierung eine erweiterte CacheItem Klasse erstellen und diese erweiterte Klasse zusammen mit der vorhandenen ObjectCache API für Cacheeinträge verwenden.

Konstruktoren

CacheItem(String)

Initialisiert eine neue CacheItem-Instanz unter Verwendung des angegebenen Schlüssels eines Cacheeintrags.

CacheItem(String, Object)

Initialisiert eine neue CacheItem-Instanz unter Verwendung des angegebenen Schlüssels und Werts des Cacheeintrags.

CacheItem(String, Object, String)

Initialisiert eine neue CacheItem-Instanz unter Verwendung des angegebenen Schlüssels, Werts und Bereichs des Cacheeintrags.

Eigenschaften

Key

Ruft einen eindeutigen Bezeichner für eine CacheItem-Instanz ab oder legt ihn fest.

RegionName

Ruft den Namen eines Bereichs im Cache ab, der einen CacheItem-Eintrag enthält, oder legt diesen fest.

Value

Ruft die Daten für eine CacheItem-Instanz ab oder legt diese fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen