Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
OutputCacheProfile Class
Collapse the table of content
Expand the table of content

OutputCacheProfile Class

Configures the output cache profile that can be used by the application pages. This class cannot be inherited.


Namespace:  System.Web.Configuration
Assembly:  System.Web (in System.Web.dll)

public sealed class OutputCacheProfile : ConfigurationElement

The OutputCacheProfile type exposes the following members.

Public methodOutputCacheProfileInitializes a new instance of the OutputCacheProfile class.

Public propertyCurrentConfigurationGets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement.)
Public propertyDurationGets or sets the time duration during which the page or control is cached.
Public propertyElementInformationGets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected propertyElementPropertyGets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement.)
Public propertyEnabledGets or sets a value indicating whether caching is enabled.
Protected propertyItem[ConfigurationProperty]Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement.)
Protected propertyItem[String]Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement.)
Public propertyLocationGets or sets the output cache location.
Public propertyLockAllAttributesExceptGets the collection of locked attributes. (Inherited from ConfigurationElement.)
Public propertyLockAllElementsExceptGets the collection of locked elements. (Inherited from ConfigurationElement.)
Public propertyLockAttributesGets the collection of locked attributes (Inherited from ConfigurationElement.)
Public propertyLockElementsGets the collection of locked elements. (Inherited from ConfigurationElement.)
Public propertyLockItemGets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement.)
Public propertyNameGets or sets the OutputCacheProfile name.
Public propertyNoStoreGets or sets a value indicating whether secondary storage is enabled.
Protected propertyPropertiesGets the collection of properties. (Inherited from ConfigurationElement.)
Public propertySqlDependencyGets or sets the SqlDependency property.
Public propertyVaryByContentEncodingGets or sets the semicolon-delimited set of content encodings to be cached.
Public propertyVaryByControlGets or sets the VaryByControl property.
Public propertyVaryByCustomGets or sets the VaryByCustom property.
Public propertyVaryByHeaderGets or sets the VaryByHeader property.
Public propertyVaryByParamGets or sets the VaryByParam property.

Protected methodDeserializeElementReads XML from the configuration file. (Inherited from ConfigurationElement.)
Public methodEqualsCompares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement.)
Public methodGetHashCodeGets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodInitSets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement.)
Protected methodInitializeDefaultUsed to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected methodIsModifiedIndicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class. (Inherited from ConfigurationElement.)
Public methodIsReadOnlyGets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.)
Protected methodResetResets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement.)
Protected methodResetModifiedResets the value of the IsModified method to false when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSerializeElementWrites the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSerializeToXmlElementWrites the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSetReadOnlySets the IsReadOnly property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodUnmergeModifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.)

The OutputCacheProfile class provides a way to programmatically access and modify the add element of the outputCacheProfiles section in the caching section of a configuration file.

The OutputCacheProfile object centralizes frequently used configuration settings such as dependencies, cache location, and cache expiration time, eliminating the need to specify them on every page.

The OutputCacheProfile can be applied to a page using the CacheProfile attribute of the @ OutputCache directive.


The @ OutputCache directive can override all the settings contained by an OutputCacheProfile object except for the Enabled attribute. This is to enable or disable the OutputCacheProfile without having to modify the directives in all the pages that might have overridden it.

The CacheDependency class monitors the dependencies so that when any cached item changes, the cached item will be automatically removed.

The following code example shows how to use the OutputCacheProfiles collection to access its OutputCacheProfile objects.

          // Get the Web application configuration.
          System.Configuration.Configuration webConfig =

         // Get the section. 

          string configPath = 
          System.Web.Configuration.OutputCacheSettingsSection outputCacheSettings =

        // Get the profile at zero index.
        System.Web.Configuration.OutputCacheProfile outputCacheProfile = 

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft