Udostępnij przez


CacheSection Klasa

Definicja

Konfiguruje globalne ustawienia pamięci podręcznej dla aplikacji ASP.NET. Klasa ta nie może być dziedziczona.

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
Dziedziczenie

Przykłady

Poniższy przykład kodu przedstawia stronę i powiązany plik kodu używany do uzyskiwania CacheSection dostępu do atrybutów sekcji.

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

Uwagi

Klasa CacheSection zapewnia sposób programowego uzyskiwania dostępu i modyfikowania <cache> sekcji pliku konfiguracji.

Funkcja buforowania ASP.NET jest implementowana przez klasę Cache . Aby uzyskać więcej informacji, zobacz Buforowanie.

Uwaga

Plik CacheSection konfiguracji może zapisywać informacje w powiązanej sekcji pliku konfiguracji zgodnie z ograniczeniami zdefiniowanymi przez właściwość AllowDefinition sekcji, której wartość to MachineToApplication. Każda próba zapisania w pliku konfiguracji na poziomie niedozwolonym w hierarchii spowoduje wyświetlenie komunikatu o błędzie wygenerowanego przez analizator. Można jednak użyć tej klasy do odczytywania informacji o konfiguracji na dowolnym poziomie w hierarchii.

Pamięć podręczna to tabela skrótów specyficzna dla aplikacji używana do przechowywania często używanych danych. Stan aplikacji i sesji jest podobny do pamięci podręcznej, stan aplikacji jest najbardziej podobny ze względu na zakres aplikacji. Jedną z największych różnic między pamięcią podręczną a mechanizmem stanu aplikacji jest to, że pamięć podręczna obsługuje zależności Te zależności umożliwiają tworzenie aplikacji, które automatycznie usuwają buforowane elementy po wystąpieniu niektórych zdarzeń.

Konstruktorów

Nazwa Opis
CacheSection()

Inicjuje nowe wystąpienie klasy CacheSection.

Właściwości

Nazwa Opis
CurrentConfiguration

Pobiera odwołanie do wystąpienia najwyższego poziomu Configuration , które reprezentuje hierarchię konfiguracji, do którego należy bieżące ConfigurationElement wystąpienie.

(Dziedziczone od ConfigurationElement)
DefaultProvider

Pobiera lub ustawia domyślnego dostawcę.

DisableExpiration

Pobiera lub ustawia wartość wskazującą, czy wygaśnięcie pamięci podręcznej jest wyłączone.

DisableMemoryCollection

Pobiera lub ustawia wartość wskazującą, czy kolekcja pamięci podręcznej jest wyłączona.

ElementInformation

ElementInformation Pobiera obiekt, który zawiera niezstosowalne informacje i funkcje ConfigurationElement obiektu.

(Dziedziczone od ConfigurationElement)
ElementProperty

ConfigurationElementProperty Pobiera obiekt reprezentujący ConfigurationElement sam obiekt.

(Dziedziczone od ConfigurationElement)
EvaluationContext

ContextInformation Pobiera obiekt dla ConfigurationElement obiektu.

(Dziedziczone od ConfigurationElement)
HasContext

Pobiera wartość wskazującą, czy CurrentConfiguration właściwość to null.

(Dziedziczone od ConfigurationElement)
Item[ConfigurationProperty]

Pobiera lub ustawia właściwość lub atrybut tego elementu konfiguracji.

(Dziedziczone od ConfigurationElement)
Item[String]

Pobiera lub ustawia właściwość, atrybut lub element podrzędny tego elementu konfiguracji.

(Dziedziczone od ConfigurationElement)
LockAllAttributesExcept

Pobiera kolekcję zablokowanych atrybutów.

(Dziedziczone od ConfigurationElement)
LockAllElementsExcept

Pobiera kolekcję zablokowanych elementów.

(Dziedziczone od ConfigurationElement)
LockAttributes

Pobiera kolekcję zablokowanych atrybutów.

(Dziedziczone od ConfigurationElement)
LockElements

Pobiera kolekcję zablokowanych elementów.

(Dziedziczone od ConfigurationElement)
LockItem

Pobiera lub ustawia wartość wskazującą, czy element jest zablokowany.

(Dziedziczone od ConfigurationElement)
PercentagePhysicalMemoryUsedLimit

Pobiera lub ustawia wartość wskazującą maksymalny procent użycia pamięci wirtualnej.

PrivateBytesLimit

Pobiera lub ustawia wartość wskazującą maksymalny rozmiar przestrzeni prywatnej procesu roboczego.

PrivateBytesPollTime

Pobiera lub ustawia wartość wskazującą interwał czasu między sondowaniem użycia pamięci procesu roboczego.

Properties

Pobiera kolekcję właściwości.

(Dziedziczone od ConfigurationElement)
Providers

Pobiera kolekcję ustawień dostawcy.

SectionInformation

SectionInformation Pobiera obiekt, który zawiera niezstosowalne informacje i funkcje ConfigurationSection obiektu.

(Dziedziczone od ConfigurationSection)

Metody

Nazwa Opis
DeserializeElement(XmlReader, Boolean)

Odczytuje kod XML z pliku konfiguracji.

(Dziedziczone od ConfigurationElement)
DeserializeSection(XmlReader)

Odczytuje kod XML z pliku konfiguracji.

(Dziedziczone od ConfigurationSection)
Equals(Object)

Porównuje bieżące ConfigurationElement wystąpienie z określonym obiektem.

(Dziedziczone od ConfigurationElement)
GetHashCode()

Pobiera unikatową wartość reprezentującą bieżące ConfigurationElement wystąpienie.

(Dziedziczone od ConfigurationElement)
GetRuntimeObject()

Zwraca obiekt niestandardowy po przesłonięciu w klasie pochodnej.

(Dziedziczone od ConfigurationSection)
GetTransformedAssemblyString(String)

Zwraca przekształconą wersję określonej nazwy zestawu.

(Dziedziczone od ConfigurationElement)
GetTransformedTypeString(String)

Zwraca przekształconą wersję określonej nazwy typu.

(Dziedziczone od ConfigurationElement)
GetType()

Type Pobiera bieżące wystąpienie.

(Dziedziczone od Object)
Init()

ConfigurationElement Ustawia obiekt na stan początkowy.

(Dziedziczone od ConfigurationElement)
InitializeDefault()

Służy do inicjowania domyślnego zestawu wartości dla ConfigurationElement obiektu.

(Dziedziczone od ConfigurationElement)
IsModified()

Wskazuje, czy ten element konfiguracji został zmodyfikowany od czasu ostatniego zapisania lub załadowania podczas implementacji w klasie pochodnej.

(Dziedziczone od ConfigurationSection)
IsReadOnly()

Pobiera wartość wskazującą, czy ConfigurationElement obiekt jest tylko do odczytu.

(Dziedziczone od ConfigurationElement)
ListErrors(IList)

Dodaje błędy nieprawidłowej właściwości w tym ConfigurationElement obiekcie i we wszystkich podelementach do przekazanej listy.

(Dziedziczone od ConfigurationElement)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Dziedziczone od Object)
OnDeserializeUnrecognizedAttribute(String, String)

Pobiera wartość wskazującą, czy podczas deserializacji napotkano nieznany atrybut.

(Dziedziczone od ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Pobiera wartość wskazującą, czy podczas deserializacji napotkano nieznany element.

(Dziedziczone od ConfigurationElement)
OnRequiredPropertyNotFound(String)

Zgłasza wyjątek, gdy nie znaleziono wymaganej właściwości.

(Dziedziczone od ConfigurationElement)
PostDeserialize()

Wywoływana po deserializacji.

(Dziedziczone od ConfigurationElement)
PreSerialize(XmlWriter)

Wywoływane przed serializacji.

(Dziedziczone od ConfigurationElement)
Reset(ConfigurationElement)

Resetuje stan ConfigurationElement wewnętrzny obiektu, w tym blokady i kolekcje właściwości.

(Dziedziczone od ConfigurationElement)
ResetModified()

Resetuje wartość IsModified() metody w false przypadku implementacji w klasie pochodnej.

(Dziedziczone od ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Zapisuje zawartość tego elementu konfiguracji do pliku konfiguracji po zaimplementowaniu w klasie pochodnej.

(Dziedziczone od ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Tworzy ciąg XML zawierający nieskonwergentny widok ConfigurationSection obiektu jako pojedynczą sekcję do zapisu w pliku.

(Dziedziczone od ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Zapisuje zewnętrzne tagi tego elementu konfiguracji do pliku konfiguracji po zaimplementowaniu w klasie pochodnej.

(Dziedziczone od ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Ustawia właściwość na określoną wartość.

(Dziedziczone od ConfigurationElement)
SetReadOnly()

IsReadOnly() Ustawia właściwość obiektu ConfigurationElement i wszystkich podelementów.

(Dziedziczone od ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Wskazuje, czy określony element powinien być serializowany, gdy hierarchia obiektów konfiguracji jest serializowana dla określonej wersji docelowej programu .NET Framework.

(Dziedziczone od ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Wskazuje, czy określona właściwość powinna być serializowana, gdy hierarchia obiektów konfiguracji jest serializowana dla określonej wersji docelowej programu .NET Framework.

(Dziedziczone od ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Wskazuje, czy bieżące ConfigurationSection wystąpienie powinno być serializowane, gdy hierarchia obiektów konfiguracji jest serializowana dla określonej wersji docelowej programu .NET Framework.

(Dziedziczone od ConfigurationSection)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Dziedziczone od Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modyfikuje obiekt, ConfigurationElement aby usunąć wszystkie wartości, które nie powinny być zapisywane.

(Dziedziczone od ConfigurationElement)

Dotyczy

Zobacz także