System.Configuration.ProtectedConfiguration 类

方法描述

为当前应用程序的配置文件提供对受保护配置提供程序的访问。

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

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public static class ProtectedConfiguration

构造函数

构造函数名称 构造函数描述

成员/方法

方法名称 方法描述

提示和注释

ProtectedConfiguration 类允许您获取有关可用于保护敏感配置数据的提供程序的信息。 通常应使用标准提供程序,但是也可以通过从 ProtectedConfigurationProvider 类派生来创建自定义提供程序。

有关受保护配置的更多信息,请参见 使用受保护的配置加密配置信息。

System.Configuration.ProtectedConfiguration 类例子

下面的示例演示如何使用 ProtectedConfiguration 类检索受保护配置的提供程序的集合,以及如何发现其提供程序名称、RSA 提供程序名称和节名称。

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

namespace Samples.AspNet
{

    // Show how to use the ProtectedConfiguration.
    public sealed class UsingProtectedConfiguration
    {



        [PermissionSet(SecurityAction.Demand, Name="FullTrust")]    
 	 private static void GetProviders()
        {
            // Get the providers' collection.
            ProtectedConfigurationProviderCollection
                providers = ProtectedConfiguration.Providers;

            IEnumerator pEnum =
                providers.GetEnumerator();

            foreach (ProtectedConfigurationProvider provider in
                providers)
            {
                Console.WriteLine
                    ("Provider name: {0}",
                      provider.Name);
                Console.WriteLine
                         ("Provider description: {0}",
                          provider.Description);

            }

        }

       [PermissionSet(SecurityAction.Demand, Name="FullTrust")]    
	private static void GetProviderName()
        {
            // Get the current provider name.
            string dataProtectionProviderName =
               ProtectedConfiguration.DataProtectionProviderName;
            Console.WriteLine(
                "Data protection provider name: {0}",
                 dataProtectionProviderName);

            // Get the Rsa provider name.
            string rsaProviderName =
                ProtectedConfiguration.RsaProviderName;
            Console.WriteLine(
                "Rsa provider name: {0}",
                 rsaProviderName);

            // Get the protected section name.
            string protectedSectionName =
                ProtectedConfiguration.ProtectedDataSectionName;
            Console.WriteLine(
                "Protected section name: {0}",
                 protectedSectionName);


        }


        static void Main(string[] args)
        {


            // Get current and Rsa provider names.
            GetProviderName();

            // Get the providers' collection.
            GetProviders();


        }
    }    
}

继承层次结构

System.Object

System.Configuration.ProtectedConfiguration

命名空间

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 系统要求。