Se você precisar de operação flexível e leitura e gravação de arquivos de configuração em .net1.1, geralmente não é muito conveniente, uma classe de gerenciamento de arquivo de configuração é encapsulada no projeto para realizar operações de leitura e gravação. No .net2.0, as classes ConfigurationManager e WebConfigurationManager podem ser usadas muito bem para gerenciar arquivos de configuração. A classe ConfigurationManager está em System.Configuration e o WebConfigurationManager está em System.Web.Configuration. De acordo com o MSDN, para configuração de aplicativos Web, é recomendado usar a classe System.Web.Configuration.WebConfigurationManager em vez da classe System.Configuration.ConfigurationManager.
Abaixo dou um exemplo simples para ilustrar como usar o WebConfigurationManager para operar arquivos de configuração:
//Abre arquivo de configuração
Configuração configuração = WebConfigurationManager.OpenWebConfiguration("~");
//Obtém o nó appSettings
AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings");
//Adiciona elementos no nó appSettings
appSection.Settings.Add("addkey1", "valor da chave1");
appSection.Settings.Add("addkey2", "valor da key2");
config.Save();
Após executar o código, você pode ver as alterações no arquivo de configuração:
<appSettings>
<add key="addkey1" value="valor da chave1" />
<add key="addkey2" value="valor da key2" />
</appSettings>
Também é muito conveniente modificar e excluir nós ou atributos:
//Abra o arquivo de configuração
Configuração configuração = WebConfigurationManager.OpenWebConfiguration("~");
//Obtém o nó appSettings
AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings");
//Exclui elementos no nó appSettings
appSection.Settings.Remove("addkey1");
//Modifica elementos no nó appSettings
appSection.Settings["addkey2"].Value = "Modificar valor de key2";
config.Salvar();
Arquivo de configuração:
<configurações do aplicativo>
<add key="addkey2" value="Modificar valor da key2" />
</appSettings>
Referência: http://msdn2.microsoft.com/en-us/library/ms228060.aspx