por Cesar Cassiano Schimanco

Editar AppSettings no web.config (inserir, editar e remover)

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
}

 

Comentários

Carregando comentários

Postar um novo comentário



Processando...