CacheSection Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Configures the global cache settings for an ASP.NET application. This class cannot be inherited.
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
- Inheritance
Examples
The following code example shows a page and the related code file used to access the CacheSection section attributes.
<%@ 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
Remarks
The CacheSection class provides a way to programmatically access and modify the <cache>
section of a configuration file.
The ASP.NET caching feature is implemented by the Cache class. For more information, see Caching.
Note
The CacheSection can write information into the related section of the configuration file according to the restrictions defined by the section property AllowDefinition whose value is MachineToApplication. Any attempt to write in a configuration file at a level not allowed in the hierarchy will result in an error message generated by the parser. However, you can use this class to read configuration information at any level in the hierarchy.
A cache is an application-specific hash table used to store frequently accessed data. Application and session state are similar to the cache, the application state being the most similar, due to its application-wide scope. One of the biggest differences between the cache and the application-state mechanism is that the cache supports dependencies These dependencies make it possible to build applications that automatically remove cached items when certain events occur.
Constructors
CacheSection() |
Initializes a new instance of the CacheSection class. |
Properties
CurrentConfiguration |
Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement) |
DefaultProvider |
Gets or sets the default provider. |
DisableExpiration |
Gets or sets a value indicating whether the cache expiration is disabled. |
DisableMemoryCollection |
Gets or sets a value indicating whether the cache memory collection is disabled. |
ElementInformation |
Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement) |
ElementProperty |
Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement) |
EvaluationContext |
Gets the ContextInformation object for the ConfigurationElement object. (Inherited from ConfigurationElement) |
HasContext |
Gets a value that indicates whether the CurrentConfiguration property is |
Item[ConfigurationProperty] |
Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement) |
Item[String] |
Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement) |
LockAllAttributesExcept |
Gets the collection of locked attributes. (Inherited from ConfigurationElement) |
LockAllElementsExcept |
Gets the collection of locked elements. (Inherited from ConfigurationElement) |
LockAttributes |
Gets the collection of locked attributes. (Inherited from ConfigurationElement) |
LockElements |
Gets the collection of locked elements. (Inherited from ConfigurationElement) |
LockItem |
Gets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement) |
PercentagePhysicalMemoryUsedLimit |
Gets or sets a value indicating the maximum percentage of virtual memory usage. |
PrivateBytesLimit |
Gets or sets a value indicating the maximum size of the working-process private space. |
PrivateBytesPollTime |
Gets or sets a value indicating the time interval between polling for the worker-process memory usage. |
Properties |
Gets the collection of properties. (Inherited from ConfigurationElement) |
Providers |
Gets the provider settings collection. |
SectionInformation |
Gets a SectionInformation object that contains the non-customizable information and functionality of the ConfigurationSection object. (Inherited from ConfigurationSection) |
Methods
DeserializeElement(XmlReader, Boolean) |
Reads XML from the configuration file. (Inherited from ConfigurationElement) |
DeserializeSection(XmlReader) |
Reads XML from the configuration file. (Inherited from ConfigurationSection) |
Equals(Object) |
Compares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement) |
GetHashCode() |
Gets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement) |
GetRuntimeObject() |
Returns a custom object when overridden in a derived class. (Inherited from ConfigurationSection) |
GetTransformedAssemblyString(String) |
Returns the transformed version of the specified assembly name. (Inherited from ConfigurationElement) |
GetTransformedTypeString(String) |
Returns the transformed version of the specified type name. (Inherited from ConfigurationElement) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
Init() |
Sets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement) |
InitializeDefault() |
Used to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement) |
IsModified() |
Indicates whether this configuration element has been modified since it was last saved or loaded when implemented in a derived class. (Inherited from ConfigurationSection) |
IsReadOnly() |
Gets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement) |
ListErrors(IList) |
Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list. (Inherited from ConfigurationElement) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Gets a value indicating whether an unknown attribute is encountered during deserialization. (Inherited from ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Gets a value indicating whether an unknown element is encountered during deserialization. (Inherited from ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Throws an exception when a required property is not found. (Inherited from ConfigurationElement) |
PostDeserialize() |
Called after deserialization. (Inherited from ConfigurationElement) |
PreSerialize(XmlWriter) |
Called before serialization. (Inherited from ConfigurationElement) |
Reset(ConfigurationElement) |
Resets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement) |
ResetModified() |
Resets the value of the IsModified() method to |
SerializeElement(XmlWriter, Boolean) |
Writes the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Creates an XML string containing an unmerged view of the ConfigurationSection object as a single section to write to a file. (Inherited from ConfigurationSection) |
SerializeToXmlElement(XmlWriter, String) |
Writes the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Sets a property to the specified value. (Inherited from ConfigurationElement) |
SetReadOnly() |
Sets the IsReadOnly() property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
Indicates whether the specified element should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection) |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
Indicates whether the specified property should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection) |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
Indicates whether the current ConfigurationSection instance should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement) |