Leer Variable desde Web.Config

¿Cómo puedo agregar y leer el valor del archivo web.config ?

Le sugeriría que no modifique web.config, ya que cada vez que cambie, reiniciará su aplicación.

Sin embargo, puede leer web.config usando System.Configuration.ConfigurationManager.AppSettings

Dado el siguiente web.config:

     

Ejemplo de uso:

 using System.Configuration; string clientId = ConfigurationManager.AppSettings["ClientId"]; string redirectUrl = ConfigurationManager.AppSettings["RedirectUrl"]; 

Si quieres lo básico, puedes acceder a las teclas a través de:

 string myKey = System.Configuration.ConfigurationManager.AppSettings["myKey"].ToString(); string imageFolder = System.Configuration.ConfigurationManager.AppSettings["imageFolder"].ToString(); 

Para acceder a mis claves de configuración web siempre hago una clase estática en mi aplicación. Significa que puedo acceder a ellos donde lo requiera y no uso las cadenas en toda mi aplicación (si cambia en la configuración web, tendré que revisar todas las incidencias cambiándolas). Aquí hay una muestra:

 using System.Configuration; public static class AppSettingsGet { public static string myKey { get { return ConfigurationManager.AppSettings["myKey"].ToString(); } } public static string imageFolder { get { return ConfigurationManager.AppSettings["imageFolder"].ToString(); } } // I also get my connection string from here public static string ConnectionString { get { return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; } } } 

Suponiendo que la clave está contenida dentro del nodo :

 ConfigurationSettings.AppSettings["theKey"]; 

En cuanto a “escribir” – en pocas palabras, no.

Web.config no está diseñado para eso, si va a cambiar un valor constantemente, póngalo en una clase auxiliar estática.

Ryan Farley tiene una excelente publicación sobre esto en su blog, que incluye todas las razones por las que no debe escribir en los archivos web.config: Escribir en el archivo de configuración de su aplicación .NET

Soy una clase de configuración de sitio para llamar a todos mis ajustes de aplicación de esta manera. Lo comparto si va a ayudar a alguien.

agregue el siguiente código en el “web.config”

          

Ahora puede definir una clase para obtener todos sus valores de configuración de aplicaciones. Me gusta esto

 using System; using System.Configuration; namespace Configuration { public static class SiteConfigurationReader { public static String appKeyString //for string type value { get { return ConfigurationManager.AppSettings.Get("appKeyString"); } } public static Int32 appKeyInt //to get integer value { get { return ConfigurationManager.AppSettings.Get("appKeyInt").ToInteger(true); } } // you can also get the app setting by passing the key public static Int32 GetAppSettingsInteger(string keyName) { try { return Convert.ToInt32(ConfigurationManager.AppSettings.Get(keyName)); } catch { return 0; } } } } 

Ahora agregue la referencia de la clase anterior y para acceder a una llamada clave como la de abajo

 string appKeyStringVal= SiteConfigurationReader.appKeyString; int appKeyIntVal= SiteConfigurationReader.appKeyInt; int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");