Open web.config from console application?

后端 未结 4 1822
萌比男神i
萌比男神i 2020-12-13 05:09

I have a console capplication that runs on the same computer that hosts a bunch of web.config files. I need the console application to open each web.config file and decrypt

4条回答
  •  春和景丽
    2020-12-13 05:34

    The when the ConfigurationManager class grab a section from the config file, it has an "IsProtected" property that it can infer for a given section that you grab. If it is protected, you can then Unprotect it using some code.

    The basic method for encrypting/decrypting goes like this (taken from article link below):

    private void ProtectSection(string sectionName, string provider)
    {
        Configuration config =
            WebConfigurationManager.
                OpenWebConfiguration(Request.ApplicationPath);
    
        ConfigurationSection section =
                     config.GetSection(sectionName);
    
        if (section != null &&
                  !section.SectionInformation.IsProtected)
        {
            section.SectionInformation.ProtectSection(provider);
            config.Save();
        }
    }
    
    private void UnProtectSection(string sectionName)
    {
        Configuration config =
            WebConfigurationManager.
                OpenWebConfiguration(Request.ApplicationPath);
    
        ConfigurationSection section =
                  config.GetSection(sectionName);
    
        if (section != null &&
              section.SectionInformation.IsProtected)
        {
            section.SectionInformation.UnprotectSection();
            config.Save();
        }
    }
    

    Check out this article for the full details on working with this.

提交回复
热议问题