Re: Шифрование конфигурации
От: Аноним  
Дата: 09.08.13 12:48
Оценка:
Здравствуйте, Mahoney, Вы писали:

M>Приветствую, коллеги.


M>Есть необходимость изменять и шифровать конфигурационный файл другого приложения.

M>Я открываю конфигурацию методом ConfigurationManager.OpenExeConfiguration(), параметризованным путём до сборки. Всё открывается, читается, шифруется, но при попытке сохранить конфигурацию, метод Save выбрасывает исключение, что, мол, объект уже существует и может быть изменён только на уровне где он был создан. Как-то это можно обойти?

Ну вот у меня такое работает:
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
ConnectionStringsSection section = config.GetSection(ConfigurationSectionName) as ConnectionStringsSection;
if (section == null)
{
       section = new ConnectionStringsSection();
       section.SectionInformation.AllowExeDefinition = ConfigurationAllowExeDefinition.MachineToLocalUser;
       config.Sections.Add(ConfigurationSectionName, section);
}

if (!section.SectionInformation.IsProtected)
{
         section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
}

config.Save();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.