C#以编程方式创建Web.config文件

时间:2012-01-11 01:46:53

标签: c# asp.net .net configuration web-config

我正在为ASP.NET应用程序编写和安装程序,我有一些数据字段,(连接字符串,smtp服务器等),我希望安装程序从用户输入构建,加密并存储在Web.config文件。我遇到的问题是WebConfigurationManager和ConfigurationManager都设计用于处理现有配置文件。如何构建新的配置文件,并在保存之前对其进行加密?

1 个答案:

答案 0 :(得分:3)

我建议从不包含所需字段的基本配置文件开始,然后使用XDocumentWebConfigurationManger添加配置信息并对其进行加密。

Source: Encrypting and decrypting sensitive data in your web.config files using Protected configuration - Part IV

代码包含内容下降:

private void EncryptConfig()
{
    // Open the Web.config file.
    Configuration config = 
        WebConfigurationManager.OpenWebConfiguration("~");
    // Get the connectionStrings section.
    ConnectionStringsSection section =
    config.GetSection("connectionStrings") as ConnectionStringsSection;

    // Toggle encryption.
    if (section.SectionInformation.IsProtected)
    {
        section.SectionInformation.UnprotectSection();
    }
    else
    {
    if (!section.SectionInformation.IsLocked)
    {
        section.SectionInformation
               .ProtectSection("RsaProtectedConfigurationProvider");             

        section.SectionInformation.ForceSave = true;             

        //Save changes to the Web.config file.       
        config.Save(ConfigurationSaveMode.Full);           }
    }
}