System.Configuration.SectionInformation.ProtectSection 方法

方法描述

标记配置节,进行保护。

语法定义(C# System.Configuration.SectionInformation.ProtectSection 方法 的用法)

public void ProtectSection(
	string protectionProvider
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
protectionProvider System-String 要使用的保护提供程序的名称。
返回值 void

提示和注释

ProtectSection 方法标记该节以进行加密,这样它就会以加密形式写入磁盘。

默认情况下将包含以下保护提供程序:

DPAPIProtectedConfigurationProvider

RSAProtectedConfigurationProvider

注意

如果使用 null 参数或空字符串调用 ProtectSection 方法,则 RSAProtectedConfigurationProvider 类将用作保护提供程序。

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

System.Configuration.SectionInformation.ProtectSection 方法例子

下面的示例演示如何使用 ProtectSection 方法。

static public void ProtectSection()
{

    // Get the current configuration file.
    System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);


    // Get the section.
    UrlsSection section =
        (UrlsSection)config.GetSection("MyUrls");


    // Protect (encrypt)the section.
    section.SectionInformation.ProtectSection(
        "RsaProtectedConfigurationProvider");

    // Save the encrypted section.
    section.SectionInformation.ForceSave = true;

    config.Save(ConfigurationSaveMode.Full);

    // Display decrypted configuration 
    // section. Note, the system
    // uses the Rsa provider to decrypt
    // the section transparently.
    string sectionXml =
        section.SectionInformation.GetRawXml();

    Console.WriteLine("Decrypted section:");
    Console.WriteLine(sectionXml);

}

异常

异常 异常描述
InvalidOperationException
  • AllowLocation 属性设置为 false。
  • 目标节已是受保护的数据节。

命名空间

namespace: System.Configuration

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

版本信息

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