Как обновить (добавить / изменить / удалить) ключи в разделе AppSettings файла web.config во время выполнения

Мне нравится обновлять ключи / значения, определенные вAppSettings разделWeb.config во время выполнения. Однако я не хочу на самом деле сохранить ихWeb.config файл.

У меня есть огромное веб-приложение, которое состоит из множества модулей, библиотек DLL и файлов исходного кода. Куча важной информации, начиная от конфигурации базы данных, ключей шифрования, имени пользователя и паролей для веб-сервисов, сохраняется вAppSettings разделweb.config файл. Недавнее требование проекта требует, чтобы я переместил эти ценности изweb.config и хранить в надежном хранилище.

Я уже сохранил эти значения во внешнем местоположении, и я могу прочитать их обратно при запуске приложения.

Вот пример кода.

Global.asax

public class Global: System.Web.HttpApplication {
    protected void Application_Start(object sender, EventArgs e) {
        Dictionary<string, string> secureConfig = new Dictionary<string,string>{};

        // --------------------------------------------------------------------
        // Here I read and decrypt keys and add them to secureConfig dictionary
        // To test assume the following line is a key stored in secure sotrage.
        //secureConfig = SecureConfig.LoadConfig();
        secureConfig.Add("ACriticalKey","VeryCriticalValue");
        // --------------------------------------------------------------------

        foreach (KeyValuePair<string, string> item in secureConfig) {
            ConfigurationManager.AppSettings.Add(item.Key, item.Value);
        }
    }
}

Как вы могли заметить, изменить ссылки наAppSettings&nbsp;в массивном коде, созданном несколькими командами программистов, чтобы прочитать их настройки из моегоsecureConfig dictionary&nbsp;и с другой стороны, я не должен сохранять эти значения вweb.config&nbsp;файл, который доступен для веб-администраторов и операторов, системных администраторов и облачных администраторов.

Чтобы облегчить жизнь программистам, я хочу позволить им добавить свои ценности вAppSettings&nbsp;разделweb.config&nbsp;во время разработки, но они будут удалены оттуда и позже помещены в безопасное хранилище во время развертывания, однако эти значения должны быть доступны для прозрачного программирования, поскольку они все еще находятся вAppSettings&nbsp;раздел.

Вопрос: как я могу добавить значения вAppSettings&nbsp;во время выполнения, чтобы программа могла читать их, используяConfigurationManager.AppSettings["ACriticalKey"]&nbsp;получить"VeryCriticalValue"&nbsp;не сохраняя их в Web.Config?

пожалуйста, обратите внимание: ConfigurationManager.AppSettings.Add(item.Key, item.Value);&nbsp;дает мнеConfigurationErrorsException&nbsp;с сообщениемThe configuration is read only.

пожалуйста, обратите внимание: Желательно, чтобы некоторые настройки могли оставаться вAppSettings&nbsp;как прежде