Freigeben über


CacheItem Klasse

Definition

Stellt einen einzelnen 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 stellt eine logische Darstellung eines Cacheeintrags bereit, der Regionen mithilfe der RegionName Eigenschaft enthalten kann. In der Standardmäßigen 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 internen Format speichern, das praktisch ist. 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, um zusätzliche Informationen zu Cacheeinträgen bereitzustellen.

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 weisen Überladungen auf, 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

Name Beschreibung
CacheItem(String, Object, String)

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

CacheItem(String, Object)

Initialisiert eine neue CacheItem Instanz mithilfe des angegebenen Schlüssels und eines Werts des Cacheeintrags.

CacheItem(String)

Initialisiert eine neue CacheItem Instanz mithilfe des angegebenen Schlüssels eines Cacheeintrags.

Eigenschaften

Name Beschreibung
Key

Dient zum Abrufen oder Festlegen eines eindeutigen Bezeichners für eine CacheItem Instanz.

RegionName

Dient zum Abrufen oder Festlegen des Namens eines Bereichs im Cache, der einen CacheItem Eintrag enthält.

Value

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

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Gilt für:

Weitere Informationen