CacheSection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Die CacheSection Klasse bietet eine Möglichkeit, programmgesteuert auf den <cache> Abschnitt einer Konfigurationsdatei zuzugreifen und sie zu ändern.
Das ASP.NET Zwischenspeicherungsfeature wird von der klasse Cache implementiert. Weitere Informationen finden Sie unter Zwischenspeichern.
Note
Die CacheSection Informationen können in den zugehörigen Abschnitt der Konfigurationsdatei entsprechend den durch die Abschnittseigenschaft AllowDefinition definierten Einschränkungen geschrieben werden, deren Wert lautet 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 häufig aufgerufener Daten verwendet wird. Der Anwendungs- und Sitzungszustand ähnelt dem Cache, der Anwendungsstatus ist aufgrund seines anwendungsweiten Bereichs der am ähnlichsten. Einer der größten Unterschiede zwischen dem Cache und dem Anwendungszustandsmechanismus besteht darin, dass der Cache Abhängigkeiten unterstützt. Diese Abhängigkeiten ermöglichen das Erstellen von Anwendungen, die beim Auftreten bestimmter Ereignisse automatisch zwischengespeicherte Elemente entfernen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CacheSection() |
Initialisiert eine neue Instanz der CacheSection-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CurrentConfiguration |
Ruft einen Verweis auf die Instanz der obersten Ebene Configuration, die die Konfigurationshierarchie darstellt, zu der die aktuelle ConfigurationElement Instanz gehört. (Geerbt von ConfigurationElement) |
| DefaultProvider |
Dient zum Abrufen oder Festlegen des Standardanbieters. |
| DisableExpiration |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Cacheablauf deaktiviert ist. |
| DisableMemoryCollection |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Cachespeicherauflistung deaktiviert ist. |
| 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 |
| Item[ConfigurationProperty] |
Dient zum Abrufen oder Festlegen einer Eigenschaft oder eines Attributs dieses Konfigurationselements. (Geerbt von ConfigurationElement) |
| Item[String] |
Dient zum Abrufen oder Festlegen einer Eigenschaft, eines Attributs oder eines untergeordneten Elements dieses Konfigurationselements. (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 |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Element gesperrt ist. (Geerbt von ConfigurationElement) |
| PercentagePhysicalMemoryUsedLimit |
Dient zum Abrufen oder Festlegen eines Werts, der den maximalen Prozentsatz der Nutzung des virtuellen Speichers angibt. |
| PrivateBytesLimit |
Dient zum Abrufen oder Festlegen eines Werts, der die maximale Größe des privaten Arbeitsbereichs des Arbeitsprozesses angibt. |
| PrivateBytesPollTime |
Dient zum Abrufen oder Festlegen eines Werts, der das Zeitintervall zwischen der Abfrage für die Arbeitsspeicherauslastung des Arbeitsprozesses angibt. |
| Properties |
Ruft die Auflistung von Eigenschaften ab. (Geerbt von ConfigurationElement) |
| Providers |
Ruft die Anbietereinstellungsauflistung ab. |
| SectionInformation |
Ruft ein SectionInformation -Objekt ab, das die nicht anpassbaren Informationen und Funktionen des ConfigurationSection -Objekts enthält. (Geerbt von ConfigurationSection) |
Methoden
| Name | Beschreibung |
|---|---|
| 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 die Type der aktuellen Instanz ab. (Geerbt von Object) |
| Init() |
Legt das ConfigurationElement-Objekt auf den Anfangszustand 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 seit dem letzten Speichern oder Laden geändert wurde, wenn es in einer abgeleiteten Klasse implementiert wurde. (Geerbt von ConfigurationSection) |
| IsReadOnly() |
Ruft einen Wert ab, der angibt, ob das ConfigurationElement -Objekt schreibgeschützt ist. (Geerbt von ConfigurationElement) |
| ListErrors(IList) |
Fügt der übergebenen Liste die Fehler der ungültigen Eigenschaft in diesem ConfigurationElement-Objekt und in allen Unterelementen hinzu. (Geerbt von ConfigurationElement) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| OnDeserializeUnrecognizedAttribute(String, String) |
Ruft einen Wert ab, der angibt, ob während der Deserialisierung ein unbekanntes Attribut gefunden wird. (Geerbt von ConfigurationElement) |
| OnDeserializeUnrecognizedElement(String, XmlReader) |
Ruft einen Wert ab, der angibt, ob während der Deserialisierung ein unbekanntes Element auftritt. (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 Zustand des ConfigurationElement -Objekts zurück, einschließlich der Sperren und der Eigenschaftenauflistungen. (Geerbt von ConfigurationElement) |
| ResetModified() |
Setzt den Wert der IsModified()-Methode auf |
| SerializeElement(XmlWriter, Boolean) |
Schreibt den Inhalt dieses Konfigurationselements in die Konfigurationsdatei, wenn es in einer abgeleiteten Klasse implementiert wird. (Geerbt von ConfigurationElement) |
| SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Erstellt eine XML-Zeichenfolge mit einer nicht zusammengeführten Ansicht des ConfigurationSection -Objekts als einzelner Abschnitt zum Schreiben in eine Datei. (Geerbt von ConfigurationSection) |
| SerializeToXmlElement(XmlWriter, String) |
Schreibt die äußeren Tags dieses Konfigurationselements in die Konfigurationsdatei, wenn sie in einer abgeleiteten Klasse implementiert wird. (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 des .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 des .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 des .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) |