ConfigurationSection Class
Represents a section within a configuration file.
System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
More...
Assembly: System.Configuration (in System.Configuration.dll)
The ConfigurationSection type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ConfigurationSection | Initializes a new instance of the ConfigurationSection class. |
| Name | Description | |
|---|---|---|
![]() | 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.) |
![]() | 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.) |
![]() | 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.) |
![]() | Properties | Gets the collection of properties. (Inherited from ConfigurationElement.) |
![]() | SectionInformation | Gets a SectionInformation object that contains the non-customizable information and functionality of the ConfigurationSection object. |
| Name | Description | |
|---|---|---|
![]() | DeserializeElement | Reads XML from the configuration file. (Inherited from ConfigurationElement.) |
![]() | DeserializeSection | Infrastructure. Reads XML from the configuration file. |
![]() | Equals | Compares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Gets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement.) |
![]() | GetRuntimeObject | Returns a custom object when overridden in a derived class. |
![]() | GetTransformedAssemblyString | Returns the transformed version of the specified assembly name. (Inherited from ConfigurationElement.) |
![]() | GetTransformedTypeString | 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. (Overrides ConfigurationElement.IsModified().) |
![]() | IsReadOnly | Gets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.) |
![]() | ListErrors | 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 | Gets a value indicating whether an unknown attribute is encountered during deserialization. (Inherited from ConfigurationElement.) |
![]() | OnDeserializeUnrecognizedElement | Gets a value indicating whether an unknown element is encountered during deserialization. (Inherited from ConfigurationElement.) |
![]() | OnRequiredPropertyNotFound | Throws an exception when a required property is not found. (Inherited from ConfigurationElement.) |
![]() | PostDeserialize | Called after deserialization. (Inherited from ConfigurationElement.) |
![]() | PreSerialize | Called before serialization. (Inherited from ConfigurationElement.) |
![]() | Reset | 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 false when implemented in a derived class. (Overrides ConfigurationElement.ResetModified().) |
![]() | SerializeElement | Writes the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.) |
![]() | SerializeSection | Infrastructure. Creates an XML string containing an unmerged view of the ConfigurationSection object as a single section to write to a file. |
![]() | SerializeToXmlElement | Writes the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.) |
![]() | SetPropertyValue | 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 | Indicates whether the specified element should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. |
![]() | ShouldSerializePropertyInTargetVersion | Indicates whether the specified property should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. |
![]() | ShouldSerializeSectionInTargetVersion | 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. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | Unmerge | Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.) |
You use the ConfigurationSection class to implement a custom section type. Extend the ConfigurationSection class to provide custom handling and programmatic access to custom configuration sections. For information about how use custom configuration sections, see How to: Create Custom Configuration Sections Using ConfigurationSection.
A section registers its handling type with an entry in the configSections element. For an example, see the configuration file excerpt shown in the Example section.
Note |
|---|
In previous versions of the .NET Framework, configuration section handlers were used to make changes to configuration settings programmatically. Now, all the default configuration sections are represented by classes that extend the ConfigurationSection class. |
You can use a programmatic or a declarative (attributed) coding model to create custom configuration sections:
Programmatic model. This model requires that for each section attribute you create a property to get or set its value and add it to the internal property bag of the underlying ConfigurationElement base class.
Declarative model. This simpler model, also called the attributed model, allows you to define a section attribute by using a property and decorating it with attributes. These attributes instruct the ASP.NET configuration system about the property types and their default values. With this information, obtained through reflection, the ASP.NET configuration system creates the section property objects and performs the required initialization.
The Configuration class allows programmatic access for editing configuration files. You can access these files for reading or writing as follows:
Reading. You use GetSection or GetSectionGroup to read configuration information. Note that the user or process that reads must have the following permissions:
Read permission on the configuration file at the current configuration hierarchy level.
Read permissions on all the parent configuration files.
If your application needs read-only access to its own configuration, it is recommended you use the GetSection() overloaded methods in the case of Web applications, or the ConfigurationManager.GetSection method in the case of client applications.
These methods provide access to the cached configuration values for the current application, which has better performance than the Configuration class.
NoteIf you use a static GetSection method that takes a path parameter, the path parameter must refer to the application in which the code is running; otherwise, the parameter is ignored and configuration information for the currently-running application is returned.
Writing. You use one of the Save methods to write configuration information. Note that the user or process that writes must have the following permissions:
Write permission on the configuration file and directory at the current configuration hierarchy level.
Read permissions on all the configuration files.
| Topic | Location |
|---|---|
| How to: Create Custom Configuration Sections Using IConfigurationSectionHandler | Configuring ASP .NET Web Applications |
| How to: Create Custom Configuration Sections Using ConfigurationSection | Configuring ASP .NET Web Applications |
| How to: Create Custom Configuration Sections Using IConfigurationSectionHandler | Configuring ASP .NET Web Applications |
| How to: Create Custom Configuration Sections Using ConfigurationSection | Configuring ASP .NET Web Applications |
| How to: Create Custom Configuration Sections Using IConfigurationSectionHandler | |
| How to: Create Custom Configuration Sections Using ConfigurationSection |
The following example shows how to implement a custom section programmatically.
For a complete example that shows how to implement and use a custom section implemented using the attributed model, see ConfigurationElement.
The following example is an excerpt of the configuration file as it applies to the previous example.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="CustomSection" type="Samples.AspNet. CustomSection, CustomConfigurationSection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />
</configSections>
<CustomSection fileName="default.txt" maxUsers="1000" maxIdleTime="00:15:00" />
</configuration>
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
System.Configuration.AppSettingsSection
System.Configuration.ClientSettingsSection
System.Configuration.ConnectionStringsSection
System.Configuration.DefaultSection
System.Configuration.IgnoreSection
System.Configuration.ProtectedConfigurationSection
System.Configuration.UriSection
System.Net.Configuration.AuthenticationModulesSection
System.Net.Configuration.ConnectionManagementSection
System.Net.Configuration.DefaultProxySection
System.Net.Configuration.RequestCachingSection
System.Net.Configuration.SettingsSection
System.Net.Configuration.SmtpSection
System.Net.Configuration.WebRequestModulesSection
System.Runtime.Caching.Configuration.MemoryCacheSection
System.Runtime.Serialization.Configuration.DataContractSerializerSection
System.ServiceModel.Activation.Configuration.DiagnosticSection
System.ServiceModel.Activation.Configuration.NetPipeSection
System.ServiceModel.Activation.Configuration.NetTcpSection
System.ServiceModel.Activities.Tracking.Configuration.TrackingSection
System.ServiceModel.Configuration.BehaviorsSection
System.ServiceModel.Configuration.BindingsSection
System.ServiceModel.Configuration.ClientSection
System.ServiceModel.Configuration.ComContractsSection
System.ServiceModel.Configuration.CommonBehaviorsSection
System.ServiceModel.Configuration.DiagnosticSection
System.ServiceModel.Configuration.ExtensionsSection
System.ServiceModel.Configuration.ProtocolMappingSection
System.ServiceModel.Configuration.ServiceHostingEnvironmentSection
System.ServiceModel.Configuration.ServicesSection
System.ServiceModel.Configuration.StandardEndpointsSection
System.ServiceModel.Routing.Configuration.RoutingSection
System.Transactions.Configuration.DefaultSettingsSection
System.Transactions.Configuration.MachineSettingsSection
System.Web.Configuration.AnonymousIdentificationSection
System.Web.Configuration.AuthenticationSection
System.Web.Configuration.AuthorizationSection
System.Web.Configuration.CacheSection
System.Web.Configuration.ClientTargetSection
System.Web.Configuration.CompilationSection
System.Web.Configuration.CustomErrorsSection
System.Web.Configuration.DeploymentSection
System.Web.Configuration.FullTrustAssembliesSection
System.Web.Configuration.GlobalizationSection
System.Web.Configuration.HealthMonitoringSection
System.Web.Configuration.HostingEnvironmentSection
System.Web.Configuration.HttpCookiesSection
System.Web.Configuration.HttpHandlersSection
System.Web.Configuration.HttpModulesSection
System.Web.Configuration.HttpRuntimeSection
System.Web.Configuration.IdentitySection
System.Web.Configuration.MachineKeySection
System.Web.Configuration.MembershipSection
System.Web.Configuration.OutputCacheSection
System.Web.Configuration.OutputCacheSettingsSection
System.Web.Configuration.PagesSection
System.Web.Configuration.PartialTrustVisibleAssembliesSection
System.Web.Configuration.ProcessModelSection
System.Web.Configuration.ProfileSection
System.Web.Configuration.ProtocolsSection
System.Web.Configuration.RoleManagerSection
System.Web.Configuration.ScriptingAuthenticationServiceSection
System.Web.Configuration.ScriptingJsonSerializationSection
System.Web.Configuration.ScriptingProfileServiceSection
System.Web.Configuration.ScriptingRoleServiceSection
System.Web.Configuration.ScriptingScriptResourceHandlerSection
System.Web.Configuration.SecurityPolicySection
System.Web.Configuration.SessionPageStateSection
System.Web.Configuration.SessionStateSection
System.Web.Configuration.SiteMapSection
System.Web.Configuration.SqlCacheDependencySection
System.Web.Configuration.TraceSection
System.Web.Configuration.TrustSection
System.Web.Configuration.UrlMappingsSection
System.Web.Configuration.WebControlsSection
System.Web.Configuration.WebPartsSection
System.Web.Configuration.XhtmlConformanceSection
System.Web.Mobile.DeviceFiltersSection
System.Web.Services.Configuration.WebServicesSection
System.Web.UI.MobileControls.MobileControlsSection
System.Windows.Forms.WindowsFormsSection
System.Workflow.Activities.Configuration.ActiveDirectoryRoleFactoryConfiguration
System.Workflow.Activities.ExternalDataExchangeServiceSection
System.Workflow.Runtime.Configuration.WorkflowRuntimeSection
System.Xaml.Hosting.Configuration.XamlHostingSection
System.Xml.Serialization.Configuration.DateTimeSerializationSection
System.Xml.Serialization.Configuration.SchemaImporterExtensionsSection
System.Xml.Serialization.Configuration.XmlSerializerSection