General Attributes Inherited by Section Elements
ASP.NET applies configuration settings to resources in a hierarchical manner. Configuration settings are inherited from parent configuration files. This topic lists several general attributes that are inherited by all section elements.
Section Elements
Section elements are members of configuration sections. This does not include elements that are members of configuration section groups.
Configuration section declarations appear at the top of the configuration file inside the configSections element. Each declaration contained in a section element specifies the name of a section and the name of the .NET Framework class (derived from ConfigurationSection) that processes configuration data in that section. section tags can be grouped in sectionGroup tags.
For more information, see ASP.NET Configuration Files or Format of ASP.NET Configuration Files.
General Attributes
The following table describes the general attributes that can be set for any section elements. These general attributes are also inherited by child elements of the section elements. All the attributes whose names include the work lock are designed to protect the specified content in the configuration file from being changed. No element or attribute is locked by default.
Attribute | Description |
---|---|
configSource |
Optional String attribute. Specifies the name of the include file in which the associated configuration section is defined, if such a file exists. Programmatically accessible through the ConfigSource property. When you use the configSource attribute, you must move the entire section to a separate file because there is no merging of element settings. Any change to the external file causes the application to restart by default. To change this behavior so that the application does not restart after every change, you can configure the section Element for configSections (General Settings Schema) in the Web.config file and set its restartOnExternalChanges attribute to false. |
lockAllAttributesExcept |
Optional String attribute; the value can be a comma-delimited list. Locks all attributes of the parent element except the ones specified. Programmatically accessible through the LockAllAttributesExcept property. Lower levels of the configuration hierarchy can never lock levels that are above them in the hierarchy. |
lockAllElementsExcept |
Optional String attribute; the value can be a comma-delimited list. Locks all child elements of the parent element except the ones specified. Programmatically accessible through the LockAllElementsExcept property. |
lockAttributes |
Optional String attribute; the value can be a comma-delimited list. Locks all attributes of the parent element. Programmatically accessible through the LockAttributes property. |
lockElements |
Optional String attribute; the value can be a comma-delimited list. Locks all child elements of the parent element. Programmatically accessible through the LockElements property. |
lockItem |
Optional String attribute. true if the element on which the attribute occurs should be locked; otherwise, false. The default is false. This attribute, besides being used to lock any individual element, can also be used on collection elements to lock them specifically within a specified collection. Also, the attribute can be used to lock any entire section. Programmatically accessible through the LockItem property. |
Example
The following code example is a portion of the Machine.config file. Configuration section handlers are declared for the system.web section group and the anonymousIdentification section. Below that, the system.Web and anonymousIdentification configuration elements are declared.
The system.Web configuration element is a member of a configuration section group, which means it does not contain any attributes.
The anonymousIdentification configuration element is a member of a configuration section; therefore, it inherits the attributes listed in the preceding table. Note that its configSource attribute has an external file assigned to it (to contain the content of the element), and that the lockItem attribute is set to true to prevent changes to its content.
<configuration>
<configSections>
<!-- Other configuration sections. -->
<sectionGroup name="system.web" ...>
<section name="anonymousIdentification" ... />
</sectionGroup>
</configSections>
<system.web>
<anonymousIdentification configSource="IDSourceFile.xml"
lockItem="true" />
</system.web>
</configuration>
See Also
Tasks
How to: Lock ASP.NET Configuration Settings
Concepts
ASP.NET Configuration Overview
ASP.NET Configuration Scenarios
Securing ASP.NET Configuration
Format of ASP.NET Configuration Files