ProviderSettings Class (System.Configuration)

Switch View :
ScriptFree
.NET Framework Class Library
ProviderSettings Class

Represents the configuration elements associated with a provider.

Inheritance Hierarchy

System.Object
  System.Configuration.ConfigurationElement
    System.Configuration.ProviderSettings

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

Visual Basic
Public NotInheritable Class ProviderSettings _
	Inherits ConfigurationElement
C#
public sealed class ProviderSettings : ConfigurationElement
Visual C++
public ref class ProviderSettings sealed : public ConfigurationElement
F#
[<Sealed>]
type ProviderSettings =  
    class
        inherit ConfigurationElement
    end

The ProviderSettings type exposes the following members.

Constructors

  Name Description
Public method ProviderSettings() Initializes a new instance of the ProviderSettings class.
Public method ProviderSettings(String, String) Initializes a new instance of the ProviderSettings class.
Top
Properties

  Name Description
Public property 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.)
Public property ElementInformation Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected property ElementProperty Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement.)
Protected property EvaluationContext Gets the ContextInformation object for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected property Item[ConfigurationProperty] Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement.)
Protected property Item[String] Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement.)
Public property LockAllAttributesExcept Gets the collection of locked attributes. (Inherited from ConfigurationElement.)
Public property LockAllElementsExcept Gets the collection of locked elements. (Inherited from ConfigurationElement.)
Public property LockAttributes Gets the collection of locked attributes (Inherited from ConfigurationElement.)
Public property LockElements Gets the collection of locked elements. (Inherited from ConfigurationElement.)
Public property LockItem Gets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement.)
Public property Name Gets or sets the name of the provider configured by this class.
Public property Parameters Gets a collection of user-defined parameters for the provider.
Protected property Properties Gets the collection of properties. (Inherited from ConfigurationElement.)
Public property Type Gets or sets the type of the provider configured by this class.
Top
Methods

  Name Description
Protected method DeserializeElement Reads XML from the configuration file. (Inherited from ConfigurationElement.)
Public method Equals Compares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Gets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement.)
Protected method GetTransformedAssemblyString Returns the transformed version of the specified assembly name. (Inherited from ConfigurationElement.)
Protected method GetTransformedTypeString Returns the transformed version of the specified type name. (Inherited from ConfigurationElement.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method Init Sets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement.)
Protected method InitializeDefault Used to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected method IsModified Indicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class. (Inherited from ConfigurationElement.)
Public method IsReadOnly Gets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.)
Protected method ListErrors Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list. (Inherited from ConfigurationElement.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnDeserializeUnrecognizedAttribute Gets a value indicating whether an unknown attribute is encountered during deserialization. (Inherited from ConfigurationElement.)
Protected method OnDeserializeUnrecognizedElement Gets a value indicating whether an unknown element is encountered during deserialization. (Inherited from ConfigurationElement.)
Protected method OnRequiredPropertyNotFound Throws an exception when a required property is not found. (Inherited from ConfigurationElement.)
Protected method PostDeserialize Called after deserialization. (Inherited from ConfigurationElement.)
Protected method PreSerialize Called before serialization. (Inherited from ConfigurationElement.)
Protected method Reset Resets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement.)
Protected method ResetModified Resets the value of the IsModified method to false when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected method SerializeElement Writes the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected method SerializeToXmlElement Writes the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected method SetPropertyValue Sets a property to the specified value. (Inherited from ConfigurationElement.)
Protected method SetReadOnly Sets the IsReadOnly property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Protected method Unmerge Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.)
Top
Remarks

ASP.NET uses providers to perform specific services required by a feature. For example, the membership feature uses a provider to coordinate the persistence of membership data in a database.

In a configuration file, individual providers are added to a providers element within a particular feature section.

The ProviderSettings class represents a particular group of settings that are added to the providers element within a configuration section. Typically the configuration attributes specified by the add directive include a name, type, and other properties.

Examples

The following code example shows how to use the ProviderSettings.

Visual Basic

Imports System
Imports System.Collections
Imports System.Collections.Specialized
Imports System.Text
Imports System.Configuration
Imports System.Security.Permissions


' Shows how to use the ProviderSettings.
Namespace Samples.AspNet


    Public Class UsingProviderSettings


        <PermissionSet( _
           SecurityAction.Demand, Name:="FullTrust")> _
           Private Shared Sub GetProviderSettings()
            ' Get the application configuration file.
            Dim config _
            As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

            Dim pSection As _
            ProtectedConfigurationSection = _
            config.GetSection("configProtectedData")

            Dim providerSettings _
            As ProviderSettingsCollection = _
            pSection.Providers

            Dim pSettings As ProviderSettings
            For Each pSettings In providerSettings

                Console.WriteLine( _
                "Provider settings name: {0}", _
                pSettings.Name)


                Console.WriteLine( _
                "Provider settings type: {0}", _
                pSettings.Type)

                Dim parameters _
                As NameValueCollection = pSettings.Parameters

                Dim pEnum _
                As IEnumerator = parameters.GetEnumerator()

                Dim i As Integer = 0
                While pEnum.MoveNext()
                    Dim pLength As String = _
                    parameters(i).Length.ToString()
                    Console.WriteLine( _
                    "Provider ssettings: {0} has {1} parameters", _
                    pSettings.Name, pLength)
                End While
            Next pSettings

        End Sub 'GetProviderSettings


        Public Shared Sub Main(ByVal args() As String)

            GetProviderSettings()
        End Sub 'Main 
    End Class 'UsingProviderSettings

End Namespace



C#

using System;
using System.Collections;
using System.Collections.Specialized;
using System.Text;
using System.Configuration;
using System.Security.Permissions;

namespace Samples.AspNet
{

    // Shows how to use the ProviderSettings.
    public class UsingProviderSettings
    {

        [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
        private static void GetProviderSettings()
        {
            // Get the application configuration file.
            System.Configuration.Configuration config =
                    ConfigurationManager.OpenExeConfiguration(
                    ConfigurationUserLevel.None);

            ProtectedConfigurationSection pSection =
                config.GetSection("configProtectedData")
                as ProtectedConfigurationSection;

            ProviderSettingsCollection providerSettings =
              pSection.Providers;

            foreach (ProviderSettings pSettings in
                providerSettings)
            {


                Console.WriteLine(
                    "Provider settings name: {0}",
                    pSettings.Name);


                Console.WriteLine(
                    "Provider settings type: {0}",
                       pSettings.Type);

                NameValueCollection parameters =
                    pSettings.Parameters;

                IEnumerator pEnum =
                    parameters.GetEnumerator();

                int i = 0;
                while (pEnum.MoveNext())
                {
                    string pLength =
                        parameters[i].Length.ToString();
                    Console.WriteLine(
                        "Provider ssettings: {0} has {1} parameters",
                        pSettings.Name, pLength);

                }

            }

        }


        static void Main(string[] args)
        {

            GetProviderSettings();

        }
    }
}


The following is an excerpt of the configuration file used by the above example.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <configProtectedData>

    <providers>
      <clear />
      <add
         name="TripleDESProtectedConfigurationProvider" 
         type="Samples.Aspnet.TripleDESProtectedConfigurationProvider, protectedconfigurationproviderlib, Version=1.0.0.0, Culture=neutral, 
PublicKeyToken=79e01ae0f5cfc66f, processorArchitecture=MSIL" />

    </providers>

  </configProtectedData>

</configuration>
Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

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.
Thread Safety

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

Reference