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

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

Вот несколько кодов:

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

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

 Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); ConnectionStringsSection section = config.GetSection("connectionStrings") as ConnectionStringsSection; //section.SectionInformation.UnprotectSection(); section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); config.Save(); 

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

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

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

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

Это метод, который я использую для обновления AppSettings, работает как для веб-приложений, так и для настольных приложений. Если вам нужно отредактировать connectionStrings, вы можете получить это значение из System.Configuration.ConnectionStringSettings config = configFile.ConnectionStrings.ConnectionStrings["YourConnectionStringName"]; а затем установите новое значение с помощью config.ConnectionString = "your connection string"; , Обратите внимание, что если у вас есть комментарии в разделе connectionStrings в Web.Config они будут удалены.

 private void UpdateAppSettings(string key, string value) { System.Configuration.Configuration configFile = null; if (System.Web.HttpContext.Current != null) { configFile = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); } else { configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); } var settings = configFile.AppSettings.Settings; if (settings[key] == null) { settings.Add(key, value); } else { settings[key].Value = value; } configFile.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name); } 
  • В чем разница между customErrors и httpErrors?
  • Цитата Escape в строке подключения web.config
  • Удаление .aspx со страниц с использованием rewriteModule?
  • IIS7, web.config, чтобы разрешить только статический обработчик файлов в каталоге / загрузках веб-сайта
  • Как защитить пароли, хранящиеся в web.config?
  • Ошибка входа для пользователя «IIS APPPOOL \ ASP.NET v4.0»
  • Разрешить анонимную проверку подлинности для одной папки в web.config?
  • Вложенное приложение ASP.NET в IIS, наследующее родительские настройки конфигурации?
  • Ошибка входа для пользователя «NT AUTHORITY \ NETWORK SERVICE»
  • Как сохранить словарь в моем файле web.config?
  • Настройка перенаправления в файле web.config
  • Interesting Posts

    «DoS-атака: Smurf» в журналах маршрутизатора – я должен волноваться?

    onActivityResult’s намерение.getPath () не дает мне правильное имя файла

    Как я могу имитировать переменную массива в MySQL?

    Зеркальные ячейки, чтобы изменения в любой ячейке обновляли другую

    Могу ли я изменить Google Chrome, чтобы предсказать мой поиск, и мгновенно посетить первый результат?

    разница между абстракцией и инкапсуляцией?

    HFS + 10 не работает на машине Windows 8.1 для просмотра и выталкивания файлов с mac

    Как я могу использовать Kik на ПК Win7Pro без телефона или учетной записи Google, например, возможно, с эмулятором Windows Phone?

    Разница между событиями и делегатами и соответствующими приложениями

    Максимальная длина для вектора в R

    Где хранятся статические переменные (в C / C ++)?

    Схема разбиения по умолчанию в Spark

    Точка входа для приложений Java: main (), init () или run ()?

    Вставить текст с одинарными кавычками в PostgreSQL

    Не удается установить Java 1.6 на OS X 10.5.8

    Давайте будем гением компьютера.