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 NotInheritable Class ProtectedConfigurationSection
	Inherits 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.

Imports System
Imports System.IO
Imports System.Configuration


' Shows how to use ProtectedConfigurationSection.

Class UsingProtectedConfigurationSection


    Shared Sub GetDefaultProvider() 
        Try
            ' Get the application configuration.
            Dim config As Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

            ' Get the protected configuration section.
            Dim pcSection _
            As ProtectedConfigurationSection = _
            CType(config.GetSection( _
            "configProtectedData"), _
            System.Configuration.ProtectedConfigurationSection)

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

        Catch e As ConfigurationErrorsException
            Console.WriteLine(e.ToString())
        End Try

    End Sub 'GetDefaultProvider


    Shared Sub GetProviderCollection() 

        Try
            ' Get the application configuration.
            Dim config As Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

            ' Get the protected configuration section.
            Dim pcSection _
            As ProtectedConfigurationSection = _
            CType(config.GetSection( _
            "configProtectedData"), _
            System.Configuration.ProtectedConfigurationSection)

            Console.WriteLine( _
            "Protected configuration section providers:")
            Dim ps As ProviderSettings
            For Each ps In  pcSection.Providers
                Console.WriteLine("  {0}", ps.Name)
            Next ps

        Catch e As ConfigurationErrorsException
            Console.WriteLine(e.ToString())
        End Try

    End Sub 'GetProviderCollection


    Public Shared Sub Main() 
        GetDefaultProvider()
        GetProviderCollection()

    End Sub 'Main
End Class 'UsingProtectedConfigurationSection

.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: