Манипулирование web.config в памяти

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

string myWebConfig = LoadWebConfigHere();

var config = WebConfigurationManager.OpenWebConfiguration(myWebConfig);

OpenWebConfiguration принимает только путь. Я действительно не хочу его сохранять и перезагружать, чтобы получить эту функциональность.

2 ответа

Это невозможно, web.config загружается только один раз за запрос, и изменения не могут быть "установлены"; любые изменения в файле вступят в силу только один раз, скажем, страница обновляется / перезагружается.

Таким образом, независимо от того, является ли это существующим файлом или компилируется с помощью вашей собственной логики, вышеизложенное - единственный способ использовать его путем загрузки его в контекст.

Не могу ответить вам через комментарии:)

Для настольных приложений лучше использовать внешний файл конфигурации или app.config.

Другие вопросы по тегам