System.Configuration.ProtectedConfigurationSection 类

方法描述

提供对 configProtectedData 配置节的编程访问。 此类不能被继承。

语法定义(C# System.Configuration.ProtectedConfigurationSection 类 的用法)

public sealed class ProtectedConfigurationSection : ConfigurationSection

构造函数

构造函数名称 构造函数描述
ProtectedConfigurationSection 使用默认设置初始化 ProtectedConfigurationSection 类的新实例。

成员/方法

方法名称 方法描述
DeserializeElement 读取配置文件中的 XML。 (继承自 ConfigurationElement。)
DeserializeSection 基础结构。读取配置文件中的 XML。 (继承自 ConfigurationSection。)
Equals 将当前的 ConfigurationElement 实例与指定的对象进行比较。 (继承自 ConfigurationElement。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
GetHashCode 获取一个唯一值,表示当前 ConfigurationElement 实例。 (继承自 ConfigurationElement。)
GetRuntimeObject 在派生的类中重写时返回自定义对象。 (继承自 ConfigurationSection。)
GetTransformedAssemblyString 返回指定程序集名称的转换版本。 (继承自 ConfigurationElement。)
GetTransformedTypeString 返回指定类型名称的转换版本。 (继承自 ConfigurationElement。)
GetType 获取当前实例的 Type。 (继承自 Object。)
Init 将 ConfigurationElement 对象设置为其初始状态。 (继承自 ConfigurationElement。)
InitializeDefault 用于初始化 ConfigurationElement 对象的默认值集。 (继承自 ConfigurationElement。)
IsModified 指示自上次在派生类中实现此配置元素时保存或加载以来是否对其进行过修改。 (继承自 ConfigurationSection。)
IsReadOnly 获取一个值,该值指示 ConfigurationElement 对象是否为只读。 (继承自 ConfigurationElement。)
ListErrors 将此 ConfigurationElement 对象以及所有子元素中无效属性的错误添加到传递的列表中。 (继承自 ConfigurationElement。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
OnDeserializeUnrecognizedAttribute 获取一个值,该值指示反序列化过程中是否遇到未知特性。 (继承自 ConfigurationElement。)
OnDeserializeUnrecognizedElement 获取一个值,该值指示反序列化过程中是否遇到未知元素。 (继承自 ConfigurationElement。)
OnRequiredPropertyNotFound 未找到所需属性时引发异常。 (继承自 ConfigurationElement。)
PostDeserialize 反序列化后调用。 (继承自 ConfigurationElement。)
PreSerialize 序列化前调用。 (继承自 ConfigurationElement。)
Reset 重置 ConfigurationElement 对象的内部状态,包括锁和属性集合。 (继承自 ConfigurationElement。)
ResetModified 在派生类中实现时,将 IsModified 方法的值重置为 false。 (继承自 ConfigurationSection。)
SerializeElement 当在派生类中实现后,将此配置元素的内容写入配置文件。 (继承自 ConfigurationElement。)
SerializeSection 基础结构。创建一个包含 ConfigurationSection 对象的分离视图的 XML 字符串,作为单独的节写入到文件中。 (继承自 ConfigurationSection。)
SerializeToXmlElement 当在派生类中实现后,将此配置元素的外部标记写入配置文件。 (继承自 ConfigurationElement。)
SetPropertyValue 将属性设置为指定值。 (继承自 ConfigurationElement。)
SetReadOnly 设置 ConfigurationElement 对象及所有子元素的 IsReadOnly 属性。 (继承自 ConfigurationElement。)
ShouldSerializeElementInTargetVersion 指示在为 .NET Framework 的指定目标版本序列化配置对象层次结构时,是否应序列化指定元素。 (继承自 ConfigurationSection。)
ShouldSerializePropertyInTargetVersion 指示在为指定目标版本的 .NET Framework 序列化配置对象层次结构时,是否应序列化指定属性。 (继承自 ConfigurationSection。)
ShouldSerializeSectionInTargetVersion 指示在为指定目标版本的 .NET Framework 序列化配置对象层次结构时,是否应序列化当前的 ConfigurationSection 实例。 (继承自 ConfigurationSection。)
ToString 返回表示当前对象的字符串。 (继承自 Object。)
Unmerge 修改 ConfigurationElement 对象以移除所有将不被保存的值。 (继承自 ConfigurationElement。)

提示和注释

configProtectedData 配置文件节的 providers 元素中包含一个受保护的数据提供程序的集合。

注意

可以使用 Aspnet_regiis.exe 工具加密和解密配置节。 请参见使用受保护的配置加密配置信息。

System.Configuration.ProtectedConfigurationSection 类例子

下面的代码示例演示如何使用 ProtectedConfigurationSection 类以编程方式访问 configProtectedData 配置文件节中的值。

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();
        }
    }
}

继承层次结构

System.Object

System.Configuration.ConfigurationElement

System.Configuration.ConfigurationSection

System.Configuration.ProtectedConfigurationSection

命名空间

namespace: System.Configuration

程序集: System.Configuration(在 System.Configuration.dll 中)

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。