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

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

91
задан Jaime Marín 29 January 2013 в 20:18
поделиться

3 ответа

Вот некоторый код:

var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=...";
configuration.Save();

Смотрите другие примеры в этой статье, вам может понадобиться взглянуть на имперсонацию.

114
ответ дан 24 November 2019 в 06:50
поделиться
Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection section = config.GetSection("connectionStrings") as ConnectionStringsSection;
//section.SectionInformation.UnprotectSection();
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
config.Save();
12
ответ дан 24 November 2019 в 06:50
поделиться

Поскольку файл web.config является xml файлом, вы можете открыть web.config с помощью класса xmldocument. Получить узел из этого xml файла, который вы хотите обновить, а затем сохранить xml файл.

вот URL, который более подробно объясняет, как можно программно обновить файл web.config.

http://patelshailesh.com/index.php/update-web-config-programmatically

Примечание: если вы внесете какие-либо изменения в web.config, ASP.NET обнаружит эти изменения и перезагрузит ваше приложение (переработает пул приложений), в результате чего данные, хранящиеся в Session, Application и Cache будут потеряны (при условии, что состояние сессии находится в InProc и не используется сервер состояния или база данных).

5
ответ дан 24 November 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: