O appSettings do web.config é um ótimo lugar para armazenar configurações globais como string de conexão, caminho de arquivos, nome do servidor, nome do site e muitos outros.
Os itens dentro appSettings podem ser manipulados em tempo de execução, podemos editar, apagar e inserir valores. No exemplo abaixo vou mostrar como editar o AppSettings.
Web.Config
<?xml version="1.0"?>
<configuration>
<appSettings />
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Web.Configuration;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Criar a chave "site" com o valor "CodeBreak"
AddValue("site", "CodeBreak");
//Alterar o valor da chave "site" para "CodeBreak - Simples assim"
SetValue("site", "CodeBreak - Simples assim");
//Imprimir o valor da chave "site"
Response.Write(GetValue("site"));
//Remover a chave "site"
RemoveValue("site");
}
#region GetValue
public string GetValue(string SettingName)
{
//Se For NULL, ou seja, nao existir retorna "Nunhum valor encontrado"
return ConfigurationManager.AppSettings[SettingName]
?? "Nunhum valor encontrado";
}
#endregion
#region RemoveValue
public void RemoveValue(string SettingName)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
//Remove
config.AppSettings.Settings.Remove(SettingName);
//Salva a configuração
config.Save();
//Atualiza o appSettings
ConfigurationManager.RefreshSection("appSettings");
}
#endregion
#region AddValue
public void AddValue(string SettingName, string value)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
//Adiciona
config.AppSettings.Settings.Add(SettingName, value);
//Salva a configuração
config.Save();
//Atualiza o appSettings
ConfigurationManager.RefreshSection("appSettings");
}
#endregion
#region SetValue
public void SetValue(string SettingName, string value)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
//Se não existir vai ser adicionada automaticamente
if (config.AppSettings.Settings[SettingName] == null)
AddValue(SettingName, value);
else
{
//Seta o valor
config.AppSettings.Settings[SettingName].Value = value;
//Salva a configuração
config.Save();
//Atualiza o appSettings
ConfigurationManager.RefreshSection("appSettings");
}
}
#endregion
}