CacheSection Klas

Definitie

Hiermee configureert u de globale cache-instellingen voor een ASP.NET-toepassing. Deze klasse kan niet worden overgenomen.

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
Overname

Voorbeelden

In het volgende codevoorbeeld ziet u een pagina en het gerelateerde codebestand dat wordt gebruikt voor toegang tot de CacheSection sectiekenmerken.

<%@ 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

Opmerkingen

De CacheSection klasse biedt een manier om programmatisch toegang te krijgen tot en het <cache> gedeelte van een configuratiebestand te wijzigen.

De ASP.NET cachefunctie wordt geïmplementeerd door de klasse Cache. Zie Caching voor meer informatie.

Note

De CacheSection kan informatie naar de gerelateerde sectie van het configuratiebestand schrijven op basis van de beperkingen die zijn gedefinieerd door de sectie-eigenschap AllowDefinition waarvan de waarde is MachineToApplication. Elke poging om in een configuratiebestand te schrijven op een niveau dat niet is toegestaan in de hiërarchie, resulteert in een foutbericht dat door de parser wordt gegenereerd. U kunt deze klasse echter gebruiken om configuratiegegevens te lezen op elk niveau in de hiërarchie.

Een cache is een toepassingsspecifieke hashtabel die wordt gebruikt voor het opslaan van veelgebruikte gegevens. De toepassings- en sessiestatus zijn vergelijkbaar met de cache, de toepassingsstatus is het meest vergelijkbaar vanwege het toepassingsbrede bereik. Een van de grootste verschillen tussen de cache en het mechanisme voor de toepassingsstatus is dat de cache afhankelijkheden ondersteunt. Deze afhankelijkheden maken het mogelijk om toepassingen te bouwen die automatisch in de cache opgeslagen items verwijderen wanneer bepaalde gebeurtenissen optreden.

Constructors

Name Description
CacheSection()

Initialiseert een nieuw exemplaar van de CacheSection klasse.

Eigenschappen

Name Description
CurrentConfiguration

Hiermee wordt een verwijzing opgehaald naar het exemplaar op het hoogste niveau Configuration dat de configuratiehiërarchie vertegenwoordigt waartoe het huidige ConfigurationElement exemplaar behoort.

(Overgenomen van ConfigurationElement)
DefaultProvider

Hiermee haalt u de standaardprovider op of stelt u deze in.

DisableExpiration

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de vervaldatum van de cache is uitgeschakeld.

DisableMemoryCollection

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de cachegeheugenverzameling is uitgeschakeld.

ElementInformation

Hiermee haalt u een ElementInformation object op dat de niet-aanpasbare informatie en functionaliteit van het ConfigurationElement object bevat.

(Overgenomen van ConfigurationElement)
ElementProperty

Hiermee haalt u het ConfigurationElementProperty object op dat het ConfigurationElement object zelf vertegenwoordigt.

(Overgenomen van ConfigurationElement)
EvaluationContext

Hiermee haalt u het ContextInformation object voor het ConfigurationElement object op.

(Overgenomen van ConfigurationElement)
HasContext

Hiermee wordt een waarde opgehaald die aangeeft of de CurrentConfiguration eigenschap is null.

(Overgenomen van ConfigurationElement)
Item[ConfigurationProperty]

Hiermee wordt een eigenschap of kenmerk van dit configuratie-element opgehaald of ingesteld.

(Overgenomen van ConfigurationElement)
Item[String]

Hiermee wordt een eigenschap, kenmerk of onderliggend element van dit configuratie-element opgehaald of ingesteld.

(Overgenomen van ConfigurationElement)
LockAllAttributesExcept

Hiermee haalt u de verzameling vergrendelde kenmerken op.

(Overgenomen van ConfigurationElement)
LockAllElementsExcept

Hiermee haalt u de verzameling vergrendelde elementen op.

(Overgenomen van ConfigurationElement)
LockAttributes

Hiermee haalt u de verzameling vergrendelde kenmerken op.

(Overgenomen van ConfigurationElement)
LockElements

Hiermee haalt u de verzameling vergrendelde elementen op.

(Overgenomen van ConfigurationElement)
LockItem

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het element is vergrendeld.

(Overgenomen van ConfigurationElement)
PercentagePhysicalMemoryUsedLimit

Hiermee wordt een waarde opgehaald of ingesteld die het maximumpercentage van het gebruik van het virtuele geheugen aangeeft.

PrivateBytesLimit

Hiermee wordt een waarde opgehaald of ingesteld die de maximale grootte van de privéruimte voor het werkproces aangeeft.

PrivateBytesPollTime

Hiermee wordt een waarde opgehaald of ingesteld die het tijdsinterval aangeeft tussen polling voor het geheugengebruik van het werkproces.

Properties

Hiermee haalt u de verzameling eigenschappen op.

(Overgenomen van ConfigurationElement)
Providers

Hiermee haalt u de verzameling providerinstellingen op.

SectionInformation

Hiermee haalt u een SectionInformation object op dat de niet-aanpasbare informatie en functionaliteit van het ConfigurationSection object bevat.

(Overgenomen van ConfigurationSection)

Methoden

Name Description
DeserializeElement(XmlReader, Boolean)

Leest XML uit het configuratiebestand.

(Overgenomen van ConfigurationElement)
DeserializeSection(XmlReader)

Leest XML uit het configuratiebestand.

(Overgenomen van ConfigurationSection)
Equals(Object)

Vergelijkt het huidige ConfigurationElement exemplaar met het opgegeven object.

(Overgenomen van ConfigurationElement)
GetHashCode()

Hiermee haalt u een unieke waarde op die het huidige ConfigurationElement exemplaar vertegenwoordigt.

(Overgenomen van ConfigurationElement)
GetRuntimeObject()

Retourneert een aangepast object wanneer dit wordt overschreven in een afgeleide klasse.

(Overgenomen van ConfigurationSection)
GetTransformedAssemblyString(String)

Retourneert de getransformeerde versie van de opgegeven assemblynaam.

(Overgenomen van ConfigurationElement)
GetTransformedTypeString(String)

Retourneert de getransformeerde versie van de opgegeven typenaam.

(Overgenomen van ConfigurationElement)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Init()

Hiermee stelt u het object in op de ConfigurationElement oorspronkelijke status.

(Overgenomen van ConfigurationElement)
InitializeDefault()

Wordt gebruikt om een standaardset waarden voor het ConfigurationElement object te initialiseren.

(Overgenomen van ConfigurationElement)
IsModified()

Geeft aan of dit configuratie-element is gewijzigd sinds het voor het laatst is opgeslagen of geladen wanneer dit is geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationSection)
IsReadOnly()

Hiermee wordt een waarde opgehaald die aangeeft of het ConfigurationElement object het kenmerk Alleen-lezen heeft.

(Overgenomen van ConfigurationElement)
ListErrors(IList)

Voegt de fouten met ongeldige eigenschappen in dit ConfigurationElement object en in alle subelementen toe aan de doorgegeven lijst.

(Overgenomen van ConfigurationElement)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnDeserializeUnrecognizedAttribute(String, String)

Hiermee wordt een waarde opgehaald die aangeeft of er een onbekend kenmerk wordt aangetroffen tijdens deserialisatie.

(Overgenomen van ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Hiermee wordt een waarde opgehaald die aangeeft of er een onbekend element wordt aangetroffen tijdens deserialisatie.

(Overgenomen van ConfigurationElement)
OnRequiredPropertyNotFound(String)

Genereert een uitzondering wanneer een vereiste eigenschap niet wordt gevonden.

(Overgenomen van ConfigurationElement)
PostDeserialize()

Gebeld na ontserialisatie.

(Overgenomen van ConfigurationElement)
PreSerialize(XmlWriter)

Aangeroepen vóór serialisatie.

(Overgenomen van ConfigurationElement)
Reset(ConfigurationElement)

Hiermee stelt u de interne status van het ConfigurationElement object opnieuw in, inclusief de vergrendelingen en de eigenschappenverzamelingen.

(Overgenomen van ConfigurationElement)
ResetModified()

Hiermee stelt u de waarde van de methode IsModified() opnieuw in wanneer deze false wordt geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Schrijft de inhoud van dit configuratie-element naar het configuratiebestand wanneer deze wordt geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Hiermee maakt u een XML-tekenreeks met een niet-gekoppelde weergave van het ConfigurationSection object als één sectie om naar een bestand te schrijven.

(Overgenomen van ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Hiermee schrijft u de buitenste tags van dit configuratie-element naar het configuratiebestand wanneer het wordt geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Hiermee stelt u een eigenschap in op de opgegeven waarde.

(Overgenomen van ConfigurationElement)
SetReadOnly()

Hiermee stelt u de IsReadOnly() eigenschap voor het ConfigurationElement object en alle subelementen in.

(Overgenomen van ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Geeft aan of het opgegeven element moet worden geserialiseerd wanneer de hiërarchie van het configuratieobject wordt geserialiseerd voor de opgegeven doelversie van het .NET Framework.

(Overgenomen van ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Geeft aan of de opgegeven eigenschap moet worden geserialiseerd wanneer de configuratieobjecthiërarchie wordt geserialiseerd voor de opgegeven doelversie van het .NET Framework.

(Overgenomen van ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Hiermee wordt aangegeven of de huidige ConfigurationSection-instantie moet worden geserialiseerd wanneer de hiërarchie van het configuratieobject wordt geserialiseerd voor de opgegeven doelversie van het .NET Framework.

(Overgenomen van ConfigurationSection)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Hiermee wijzigt u het ConfigurationElement object om alle waarden te verwijderen die niet mogen worden opgeslagen.

(Overgenomen van ConfigurationElement)

Van toepassing op

Zie ook