Как я могу модифицировать/управлять программным обеспечением web.config
с помощью С#? Могу ли я использовать объект конфигурации, и, если да, как я могу загрузить web.config
в объект конфигурации? Я хотел бы иметь полный пример изменения строки подключения. После изменения web.config
следует записать обратно на жесткий диск.
Измените web.config программно с помощью С# (.NET)
Ответ 1
Вот какой код:
var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=...";
configuration.Save();
Подробнее в в этой статье, возможно, вам нужно взглянуть на олицетворения.
Ответ 2
Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection section = config.GetSection("connectionStrings") as ConnectionStringsSection;
//section.SectionInformation.UnprotectSection();
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
config.Save();
Ответ 3
Так как файл web.config - это xml файл, вы можете открыть web.config с помощью класса xmldocument. Получите node из этого xml файла, который вы хотите обновить, а затем сохраните файл xml.
Вот URL, который более подробно объясняет, как можно программно обновлять файл web.config.
http://patelshailesh.com/index.php/update-web-config-programmatically
Примечание: если вы внесете какие-либо изменения в web.config, ASP.NET обнаружит эти изменения и перезагрузит ваше приложение (пул повторных пулов приложений), и эффект от этого будет зависеть от данных, хранящихся в сеансе, приложении и кеше ( предполагая, что состояние сеанса - InProc и не использует государственный сервер или базу данных).