Я пытаюсь программно зашифровать разделы конфигурации файлов App.config и Web.config. В следующем коде я задаю файл конфигурации пути, который я хочу редактировать, в переменной configFilePath, а затем ожидаю, что он зашифрует раздел connectionStrings.
var config = ConfigurationManager.OpenExeConfiguration(configFilePath);
var section = config.GetSection("connectionStrings");
if (section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");
}
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");
Работает нормально, без ошибок, но не вносит изменений в данный файл. Это похоже на то, что я не получаю доступ к файлу, к которому я хочу получить доступ.
Есть идеи?