ProtectedConfigurationSection Class

 

Provides programmatic access to the configProtectedData configuration section. This class cannot be inherited.

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

System.Object
  System.Configuration.ConfigurationElement
    System.Configuration.ConfigurationSection
      System.Configuration.ProtectedConfigurationSection

public sealed class ProtectedConfigurationSection : ConfigurationSection

NameDescription
System_CAPS_pubmethodProtectedConfigurationSection()

Initializes a new instance of the ProtectedConfigurationSection class using default settings.

NameDescription
System_CAPS_pubpropertyCurrentConfiguration

Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyDefaultProvider

Gets or sets the name of the default ProtectedConfigurationProvider object in the Providers collection property.

System_CAPS_pubpropertyElementInformation

Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)

System_CAPS_protpropertyElementProperty

Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself.(Inherited from ConfigurationElement.)

System_CAPS_protpropertyItem[ConfigurationProperty]

Gets or sets a property or attribute of this configuration element.(Inherited from ConfigurationElement.)

System_CAPS_protpropertyItem[String]

Gets or sets a property, attribute, or child element of this configuration element.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockAllAttributesExcept

Gets the collection of locked attributes.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockAllElementsExcept

Gets the collection of locked elements.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockAttributes

Gets the collection of locked attributes (Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockElements

Gets the collection of locked elements.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockItem

Gets or sets a value indicating whether the element is locked.(Inherited from ConfigurationElement.)

System_CAPS_protpropertyProperties

Gets the collection of properties.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyProviders

Gets a ProviderSettingsCollection collection of all the ProtectedConfigurationProvider objects in all participating configuration files.

System_CAPS_pubpropertySectionInformation

Gets a SectionInformation object that contains the non-customizable information and functionality of the ConfigurationSection object. (Inherited from ConfigurationSection.)

NameDescription
System_CAPS_protmethodDeserializeElement(XmlReader, Boolean)

Reads XML from the configuration file.(Inherited from ConfigurationElement.)

System_CAPS_protmethodDeserializeSection(XmlReader)

This API supports the product infrastructure and is not intended to be used directly from your code. Reads XML from the configuration file.(Inherited from ConfigurationSection.)

System_CAPS_pubmethodEquals(Object)

Compares the current ConfigurationElement instance to the specified object.(Inherited from ConfigurationElement.)

System_CAPS_pubmethodGetHashCode()

Gets a unique value representing the current ConfigurationElement instance.(Inherited from ConfigurationElement.)

System_CAPS_protmethodGetRuntimeObject()

Returns a custom object when overridden in a derived class.(Inherited from ConfigurationSection.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodInit()

Sets the ConfigurationElement object to its initial state.(Inherited from ConfigurationElement.)

System_CAPS_protmethodInitializeDefault()

Used to initialize a default set of values for the ConfigurationElement object.(Inherited from ConfigurationElement.)

System_CAPS_protmethodIsModified()

Indicates whether this configuration element has been modified since it was last saved or loaded when implemented in a derived class.(Inherited from ConfigurationSection.)

System_CAPS_pubmethodIsReadOnly()

Gets a value indicating whether the ConfigurationElement object is read-only.(Inherited from ConfigurationElement.)

System_CAPS_protmethodReset(ConfigurationElement)

Resets the internal state of the ConfigurationElement object, including the locks and the properties collections.(Inherited from ConfigurationElement.)

System_CAPS_protmethodResetModified()

Resets the value of the IsModified method to false when implemented in a derived class.(Inherited from ConfigurationSection.)

System_CAPS_protmethodSerializeElement(XmlWriter, Boolean)

Writes the contents of this configuration element to the configuration file when implemented in a derived class.(Inherited from ConfigurationElement.)

System_CAPS_protmethodSerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

This API supports the product infrastructure and is not intended to be used directly from your code. Creates an XML string containing an unmerged view of the ConfigurationSection object as a single section to write to a file.(Inherited from ConfigurationSection.)

System_CAPS_protmethodSerializeToXmlElement(XmlWriter, String)

Writes the outer tags of this configuration element to the configuration file when implemented in a derived class.(Inherited from ConfigurationElement.)

System_CAPS_protmethodSetReadOnly()

Sets the IsReadOnly property for the ConfigurationElement object and all subelements.(Inherited from ConfigurationElement.)

System_CAPS_protmethodShouldSerializeElementInTargetVersion(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.)

System_CAPS_protmethodShouldSerializePropertyInTargetVersion(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.)

System_CAPS_protmethodShouldSerializeSectionInTargetVersion(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.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_protmethodUnmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.)

The configProtectedData configuration file section contains a collection of protected data providers in its providers element.

System_CAPS_noteNote

You can use the Aspnet_regiis.exe tool to encrypt and decrypt configuration sections. See Encrypting Configuration Information Using Protected Configuration.

The following configuration file excerpt shows how to declaratively specify protected data providers.

<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
  <providers>
    <clear />
      <add keyContainerName="NetFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

      <add useMachineProtection="true" description="Uses CryptProtectData and CryptUnProtectData Windows APIs to encrypt and decrypt" keyEntropy="" name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

  </providers>
</configProtectedData>

The following code example shows how to use the ProtectedConfigurationSection class to programmatically access values in the configProtectedData configuration file section.

using System;
using System.IO;
using System.Configuration;

namespace Samples.Aspnet
{
    // Shows how to use ProtectedConfigurationSection.
    class UsingProtectedConfigurationSection
    {

        static void GetDefaultProvider()
        {
            try
            {
                // Get the application configuration.
                Configuration config =
                    ConfigurationManager.OpenExeConfiguration(
                    ConfigurationUserLevel.None);

                // Get the protected configuration section.
                ProtectedConfigurationSection pcSection =
                    (System.Configuration.ProtectedConfigurationSection)
                    config.GetSection("configProtectedData");

                // Get the current DefaultProvider.
                Console.WriteLine(
                    "Protected configuration section default provider:");
                Console.WriteLine("  {0}", pcSection.DefaultProvider);

            }
            catch (ConfigurationErrorsException e)
            {
                Console.WriteLine(e.ToString());
            }

        }


        static void GetProviderCollection()
        {

            try
            {
                // Get the application configuration.
                Configuration config =
                    ConfigurationManager.OpenExeConfiguration(
                    ConfigurationUserLevel.None);

                // Get the protected configuration section.
                ProtectedConfigurationSection pcSection =
                    (System.Configuration.ProtectedConfigurationSection)
                    config.GetSection("configProtectedData");

                Console.WriteLine(
               "Protected configuration section providers:");
                foreach (ProviderSettings ps in
                pcSection.Providers)
                {
                    Console.WriteLine("  {0}", ps.Name);
                }

            }
            catch (ConfigurationErrorsException e)
            {
                Console.WriteLine(e.ToString());
            }

        }

        public static void Main()
        {
            GetDefaultProvider();
            GetProviderCollection();
        }
    }
} 

.NET Framework
Available since 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.

Return to top
Show: