Freigeben über


CacheSection Klasse

Definition

Konfiguriert die globalen Cacheeinstellungen für eine ASP.NET-Anwendung. Diese Klasse kann nicht vererbt werden.

public ref class CacheSection sealed : System::Configuration::ConfigurationSection
public sealed class CacheSection : System.Configuration.ConfigurationSection
type CacheSection = class
    inherit ConfigurationSection
Public NotInheritable Class CacheSection
Inherits ConfigurationSection
Vererbung

Beispiele

Das folgende Codebeispiel zeigt eine Seite und die zugehörige Codedatei, die für den Zugriff auf die CacheSection Abschnittsattribute verwendet wird.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReadWriteCache.aspx.cs" Inherits="ReadWriteCache" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Read Write Application Cache</title>
</head>
<body>
    <form id="form1" runat="server">
        <h2>Read Write Application Cache</h2>

        <asp:Label ID="Label1" Text="[Application Cache goes here.]" runat="server"></asp:Label>
        
        <hr />

        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Write Cache" />    
        <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Read Cache" />
    </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ReadWriteCache.aspx.vb" Inherits="ReadWriteCache" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Read Write Application Cache</title>
</head>
<body>
    <form id="form1" runat="server">
        <h2>Read Write Application Cache</h2>

        <asp:Label ID="Label1" Text="[Application Cache goes here.]" runat="server"></asp:Label>
        
        <hr />

        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Write Cache" />    
        <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Read Cache" />
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ReadWriteCache : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            Label1.Text = "Application Cache goes here.";
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        // Get the application configuration file.
        System.Configuration.Configuration config =
          System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/");

        System.Web.Configuration.CacheSection cacheSection =
            (System.Web.Configuration.CacheSection)config.GetSection(
                "system.web/caching/cache");

        // Increase the PrivateBytesLimit property to 0.
        cacheSection.PrivateBytesLimit = 
            cacheSection.PrivateBytesLimit + 10;

        // Increase memory limit.
        cacheSection.PercentagePhysicalMemoryUsedLimit = 
            cacheSection.PercentagePhysicalMemoryUsedLimit + 1;

        // Increase poll time.
        cacheSection.PrivateBytesPollTime =
            cacheSection.PrivateBytesPollTime + TimeSpan.FromMinutes(1);

        // Enable or disable memory collection.
        cacheSection.DisableMemoryCollection = 
                !cacheSection.DisableMemoryCollection;

        // Enable or disable cache expiration.
        cacheSection.DisableExpiration =
            !cacheSection.DisableExpiration;

        // Save the configuration file.
        config.Save(System.Configuration.ConfigurationSaveMode.Modified);      
    }

    protected void Button2_Click(object sender, EventArgs e)
    {

        // Get the application configuration file.
        System.Configuration.Configuration config =
          System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/");

        System.Web.Configuration.CacheSection cacheSection =
            (System.Web.Configuration.CacheSection)config.GetSection(
                "system.web/caching/cache");

        // Read the cache section.
        System.Text.StringBuilder buffer = new System.Text.StringBuilder();

        string currentFile = cacheSection.CurrentConfiguration.FilePath;
        bool dExpiration = cacheSection.DisableExpiration;
        bool dMemCollection = cacheSection.DisableMemoryCollection;
        TimeSpan pollTime = cacheSection.PrivateBytesPollTime;
        int phMemUse = cacheSection.PercentagePhysicalMemoryUsedLimit;
        long pvBytesLimit = cacheSection.PrivateBytesLimit;

        string cacheEntry = String.Format("File: {0} <br/>", currentFile);
        buffer.Append(cacheEntry);
        cacheEntry = String.Format("Expiration Disabled: {0} <br/>", dExpiration);
        buffer.Append(cacheEntry);
        cacheEntry = String.Format("Memory Collection Disabled: {0} <br/>", dMemCollection);
        buffer.Append(cacheEntry);
        cacheEntry = String.Format("Poll Time: {0} <br/>", pollTime.ToString());
        buffer.Append(cacheEntry);
        cacheEntry = String.Format("Memory Limit: {0} <br/>", phMemUse.ToString());
        buffer.Append(cacheEntry);
        cacheEntry = String.Format("Bytes Limit: {0} <br/>", pvBytesLimit.ToString());
        buffer.Append(cacheEntry);

        Label1.Text = buffer.ToString();
    }
}
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Partial Public Class ReadWriteCache
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        If Not IsPostBack Then
            Label1.Text = "Application Cache goes here."
        End If

    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' Get the application configuration file.
        Dim config As System.Configuration.Configuration =
            System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/")


        Dim cacheSection As System.Web.Configuration.CacheSection =
            CType(config.GetSection("system.web/caching/cache"), System.Web.Configuration.CacheSection)

        ' Increase the PrivateBytesLimit property to 0.
        cacheSection.PrivateBytesLimit = cacheSection.PrivateBytesLimit + 10


        ' Increase memory limit.
        cacheSection.PercentagePhysicalMemoryUsedLimit =
            cacheSection.PercentagePhysicalMemoryUsedLimit + 1

        ' Increase poll time.
        cacheSection.PrivateBytesPollTime =
            cacheSection.PrivateBytesPollTime + TimeSpan.FromMinutes(1)


        ' Enable or disable memory collection.
        cacheSection.DisableMemoryCollection =
            Not cacheSection.DisableMemoryCollection

        ' Enable or disable cache expiration.
        cacheSection.DisableExpiration =
            Not cacheSection.DisableExpiration

        ' Save the configuration file.
        config.Save(System.Configuration.ConfigurationSaveMode.Modified)

    End Sub

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)

        ' Get the application configuration file.
        Dim config As System.Configuration.Configuration =
            System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/")


        Dim cacheSection As System.Web.Configuration.CacheSection =
            CType(config.GetSection("system.web/caching/cache"), System.Web.Configuration.CacheSection)

        ' Read the cache section.
        Dim buffer As New System.Text.StringBuilder()

        Dim currentFile As String = cacheSection.CurrentConfiguration.FilePath
        Dim dExpiration As Boolean = cacheSection.DisableExpiration
        Dim dMemCollection As Boolean = cacheSection.DisableMemoryCollection
        Dim pollTime As TimeSpan = cacheSection.PrivateBytesPollTime
        Dim phMemUse As Integer = cacheSection.PercentagePhysicalMemoryUsedLimit
        Dim pvBytesLimit As Long = cacheSection.PrivateBytesLimit

        Dim cacheEntry As String = String.Format("File: {0} <br/>", currentFile)
        buffer.Append(cacheEntry)
        cacheEntry = String.Format("Expiration Disabled: {0} <br/>", dExpiration)
        buffer.Append(cacheEntry)
        cacheEntry = String.Format("Memory Collection Disabled: {0} <br/>", dMemCollection)
        buffer.Append(cacheEntry)
        cacheEntry = String.Format("Poll Time: {0} <br/>", pollTime.ToString())
        buffer.Append(cacheEntry)
        cacheEntry = String.Format("Memory Limit: {0} <br/>", phMemUse.ToString())
        buffer.Append(cacheEntry)
        cacheEntry = String.Format("Bytes Limit: {0} <br/>", pvBytesLimit.ToString())
        buffer.Append(cacheEntry)

        Label1.Text = buffer.ToString()
    End Sub
End Class

Hinweise

Mit der CacheSection-Klasse kann programmgesteuert auf den <cache>-Abschnitt einer Konfigurationsdatei zugegriffen und dieser programmgesteuert geändert werden.

Die ASP.NET Zwischenspeicherungsfunktion wird von der Cache -Klasse implementiert. Weitere Informationen finden Sie unter Zwischenspeichern.

Hinweis

Der CacheSection kann Informationen in den zugehörigen Abschnitt der Konfigurationsdatei gemäß den Einschränkungen schreiben, die von der section-Eigenschaft AllowDefinition definiert werden, deren Wert ist MachineToApplication. Jeder Versuch, in eine Konfigurationsdatei auf einer Ebene zu schreiben, die in der Hierarchie nicht zulässig ist, führt zu einer Fehlermeldung, die vom Parser generiert wird. Sie können diese Klasse jedoch verwenden, um Konfigurationsinformationen auf jeder Ebene in der Hierarchie zu lesen.

Ein Cache ist eine anwendungsspezifische Hashtabelle, die zum Speichern von Daten verwendet wird, auf die häufig zugegriffen wird. Anwendungs- und Sitzungsstatus ähneln dem Cache, wobei der Anwendungszustand aufgrund des anwendungsweiten Bereichs am ähnlichsten ist. Einer der größten Unterschiede zwischen dem Cache und dem Anwendungsstatusmechanismus besteht darin, dass der Cache Abhängigkeiten unterstützt. Diese Abhängigkeiten ermöglichen es, Anwendungen zu erstellen, die zwischengespeicherte Elemente automatisch entfernen, wenn bestimmte Ereignisse auftreten.

Konstruktoren

CacheSection()

Initialisiert eine neue Instanz der CacheSection-Klasse.

Eigenschaften

CurrentConfiguration

Ruft einen Verweis auf die Configuration-Instanz der obersten Ebene ab, die die Konfigurationshierarchie darstellt, zu der die aktuelle ConfigurationElement-Instanz gehört.

(Geerbt von ConfigurationElement)
DefaultProvider

Ruft den Standardanbieter ab oder legt diesen fest.

DisableExpiration

Ruft einen Wert ab, der angibt, ob die Cacheablaufzeit deaktiviert ist, oder legt diesen fest.

DisableMemoryCollection

Ruft einen Wert ab, der angibt, ob die Cachespeichersammlung deaktiviert ist, oder legt diesen fest.

ElementInformation

Ruft ein ElementInformation-Objekt ab, das die nicht anpassbaren Informationen und Funktionen des ConfigurationElement-Objekts enthält.

(Geerbt von ConfigurationElement)
ElementProperty

Ruft das ConfigurationElementProperty-Objekt ab, das das ConfigurationElement-Objekt selbst darstellt.

(Geerbt von ConfigurationElement)
EvaluationContext

Ruft das ContextInformation-Objekt für das ConfigurationElement-Objekt ab.

(Geerbt von ConfigurationElement)
HasContext

Ruft einen Wert ab, der angibt, ob die CurrentConfiguration-Eigenschaft null ist.

(Geerbt von ConfigurationElement)
Item[ConfigurationProperty]

Ruft eine Eigenschaft oder ein Attribut dieses Konfigurationselements ab oder legt diese bzw. dieses fest.

(Geerbt von ConfigurationElement)
Item[String]

Ruft eine Eigenschaft, ein Attribut oder ein untergeordnetes Element dieses Konfigurationselements ab oder legt diese(s) fest.

(Geerbt von ConfigurationElement)
LockAllAttributesExcept

Ruft die Auflistung gesperrter Attribute ab.

(Geerbt von ConfigurationElement)
LockAllElementsExcept

Ruft die Auflistung gesperrter Elemente ab.

(Geerbt von ConfigurationElement)
LockAttributes

Ruft die Auflistung gesperrter Attribute ab.

(Geerbt von ConfigurationElement)
LockElements

Ruft die Auflistung gesperrter Elemente ab.

(Geerbt von ConfigurationElement)
LockItem

Ruft einen Wert ab, der angibt, ob das Element gesperrt ist, oder legt diesen fest.

(Geerbt von ConfigurationElement)
PercentagePhysicalMemoryUsedLimit

Ruft einen Wert ab, der den maximalen Prozentsatz für die Auslastung des virtuellen Arbeitsspeichers angibt, oder legt diesen fest.

PrivateBytesLimit

Ruft ab einen Wert ab, der die maximale Größe des privaten Arbeitsprozessspeichers angibt, oder legt diesen fest.

PrivateBytesPollTime

Ruft einen Wert ab, der das Zeitintervall zwischen den Abrufen der Arbeitsprozessspeicherauslastung angibt, oder legt diesen fest.

Properties

Ruft die Auflistung von Eigenschaften ab.

(Geerbt von ConfigurationElement)
Providers

Ruft die Sammlung der Anbietereinstellungen ab.

SectionInformation

Ruft ein SectionInformation-Objekt ab, das die nicht anpassbaren Informationen und Funktionen des ConfigurationSection-Objekts enthält.

(Geerbt von ConfigurationSection)

Methoden

DeserializeElement(XmlReader, Boolean)

Liest XML aus der Konfigurationsdatei.

(Geerbt von ConfigurationElement)
DeserializeSection(XmlReader)

Liest XML aus der Konfigurationsdatei.

(Geerbt von ConfigurationSection)
Equals(Object)

Vergleicht die aktuelle ConfigurationElement-Instanz mit dem angegebenen Objekt.

(Geerbt von ConfigurationElement)
GetHashCode()

Ruft einen eindeutigen Wert ab, der die aktuelle ConfigurationElement-Instanz darstellt.

(Geerbt von ConfigurationElement)
GetRuntimeObject()

Gibt ein benutzerdefiniertes Objekt zurück, wenn es in einer abgeleiteten Klasse überschrieben wird.

(Geerbt von ConfigurationSection)
GetTransformedAssemblyString(String)

Gibt die transformierte Version des angegebenen Assemblynamens zurück.

(Geerbt von ConfigurationElement)
GetTransformedTypeString(String)

Gibt die transformierte Version des angegebenen Typnamens zurück.

(Geerbt von ConfigurationElement)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
Init()

Legt für das ConfigurationElement-Objekt den Ausgangszustand fest.

(Geerbt von ConfigurationElement)
InitializeDefault()

Wird verwendet, um einen Standardsatz von Werten für das ConfigurationElement-Objekt zu initialisieren.

(Geerbt von ConfigurationElement)
IsModified()

Gibt an, ob dieses Konfigurationselement geändert wurde, seit es zuletzt gespeichert oder geladen wurde, wenn es in einer abgeleiteten Klasse implementiert wurde.

(Geerbt von ConfigurationSection)
IsReadOnly()

Ruft einen Wert ab, der angibt, ob das ConfigurationElement schreibgeschützt ist.

(Geerbt von ConfigurationElement)
ListErrors(IList)

Fügt die Fehler über ungültige Eigenschaften in diesem ConfigurationElement-Objekt und in allen Unterelementen der übergebenen Liste hinzu.

(Geerbt von ConfigurationElement)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnDeserializeUnrecognizedAttribute(String, String)

Ruft einen Wert ab, der angibt, ob während der Deserialisierung ein unbekanntes Attribut aufgetreten ist.

(Geerbt von ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Ruft einen Wert ab, der angibt, ob während der Deserialisierung ein unbekanntes Element aufgetreten ist.

(Geerbt von ConfigurationElement)
OnRequiredPropertyNotFound(String)

Löst eine Ausnahme aus, wenn eine erforderliche Eigenschaft nicht gefunden wird.

(Geerbt von ConfigurationElement)
PostDeserialize()

Wird nach der Deserialisierung aufgerufen.

(Geerbt von ConfigurationElement)
PreSerialize(XmlWriter)

Wird vor der Serialisierung aufgerufen.

(Geerbt von ConfigurationElement)
Reset(ConfigurationElement)

Setzt den internen Status dieses ConfigurationElement-Objekts zurück, einschließlich der Sperren und der Eigenschaftenauflistungen.

(Geerbt von ConfigurationElement)
ResetModified()

Setzt bei Implementierung in einer abgeleiteten Klasse den Wert der IsModified()-Methode auf false zurück.

(Geerbt von ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Schreibt bei Implementierung in einer abgeleiteten Klasse den Inhalt dieses Konfigurationselements in die Konfigurationsdatei.

(Geerbt von ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Erstellt eine XML-Zeichenfolge mit einer nicht zusammengeführten Ansicht des ConfigurationSection-Objekts als einzelnem Abschnitt, der in einer Datei geschrieben werden soll.

(Geerbt von ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Schreibt bei Implementierung in einer abgeleiteten Klasse die äußeren Tags dieses Konfigurationselements in die Konfigurationsdatei.

(Geerbt von ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Legt eine Eigenschaft auf den angegebenen Wert fest.

(Geerbt von ConfigurationElement)
SetReadOnly()

Legt die IsReadOnly()-Eigenschaft für das ConfigurationElement-Objekt und alle Unterelemente fest.

(Geerbt von ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Gibt an, ob das angegebene Element serialisiert werden soll, wenn die Konfigurationsobjekthierarchie für die angegebene Zielversion von .NET Framework serialisiert wird.

(Geerbt von ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Gibt an, ob die angegebene Eigenschaft serialisiert werden soll, wenn die Konfigurationsobjekthierarchie für die angegebene Zielversion von .NET Framework serialisiert wird.

(Geerbt von ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Gibt an, ob die aktuelle ConfigurationSection Instanz serialisiert werden soll, wenn die Konfigurationsobjekthierarchie für die angegebene Zielversion von .NET Framework serialisiert wird.

(Geerbt von ConfigurationSection)
ToString()

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

(Geerbt von Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Ändert das ConfigurationElement-Objekt, um alle Werte zu entfernen, die nicht gespeichert werden sollen.

(Geerbt von ConfigurationElement)

Gilt für:

Weitere Informationen