Переопределение / замена ConfigurationElements в app.config во время выполнения
У меня есть два объекта ConfigurationElement (один из которых находится в app.config запущенного приложения), и мне нужно заменить один другим. У меня также есть ConfigurationElementCollection, к которому принадлежит первый элемент. Похоже, что методы Add и Remove являются внутренними. Разве это не предназначено для меня, чтобы иметь возможность обновлять объект ConfigurationElementCollection во время выполнения? Если так, каковы альтернативы?
Благодарю.
1 ответ
ConfigurationElementCollection является абстрактным классом, поэтому конкретный класс коллекции может предоставлять методы для добавления и удаления.
Однако при получении с помощью метода ConfigurationManager.GetSection конфигурация доступна только для чтения, поэтому даже если методы были доступны, они не будут работать:
Метод GetSection обращается к информации о конфигурации во время выполнения, которую он не может изменить. Чтобы изменить конфигурацию, вы используете метод GetSection в файле конфигурации, который вы получаете с помощью одного из следующих методов Open:
Что вам нужно сделать, и кто потребляет эту конфигурацию? Возможно, вы сможете изменить его поведение на более высоком уровне, а не менять информацию о конфигурации.