Измените web.config программно с помощью С# (.NET)

Как я могу модифицировать/управлять программным обеспечением web.config с помощью С#? Могу ли я использовать объект конфигурации, и, если да, как я могу загрузить web.config в объект конфигурации? Я хотел бы иметь полный пример изменения строки подключения. После изменения web.config следует записать обратно на жесткий диск.

Ответ 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 и не использует государственный сервер или базу данных).