Манипулирование web.config в памяти
У меня есть файл web.config, открытый в текстовом поле, и я хотел бы манипулировать им. Например, позволяя пользователю изменить строку DBConn или что-то еще. На этапе попытки изменить это, текст конфигурации может существовать или не существовать как физический файл. Можно ли использовать WebConfigurationManager или аналогичный по памяти; что-то вроде этого:
string myWebConfig = LoadWebConfigHere();
var config = WebConfigurationManager.OpenWebConfiguration(myWebConfig);
OpenWebConfiguration принимает только путь. Я действительно не хочу его сохранять и перезагружать, чтобы получить эту функциональность.
2 ответа
Это невозможно, web.config загружается только один раз за запрос, и изменения не могут быть "установлены"; любые изменения в файле вступят в силу только один раз, скажем, страница обновляется / перезагружается.
Таким образом, независимо от того, является ли это существующим файлом или компилируется с помощью вашей собственной логики, вышеизложенное - единственный способ использовать его путем загрузки его в контекст.
Не могу ответить вам через комментарии:)
Для настольных приложений лучше использовать внешний файл конфигурации или app.config.