Agregar en el config un valor en appsettings

Para webforms la lectura y escritura de un app.config en si mismo, no se puede.... toca crear otro archivo config... así que la manera de agregar un valor al config es:

Así sería la escritura:

//Crear archivo de configuración extra para definir envió o no de correos

                ExeConfigurationFileMap map = new ExeConfigurationFileMap();
                map.ExeConfigFilename = "wcfverificationhost.exe.config";
                Configuration config
                  = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
                config.AppSettings.Settings.Remove("sendMailAuditByMail");
                config.AppSettings.Settings.Add(new System.Configuration.KeyValueConfigurationElement("sendMailAuditByMail", "true"));
                config.Save();

Así sería la lectura:

 ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
                fileMap.ExeConfigFilename = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wcfverificationhost.exe.config");
                Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

                AppSettingsSection section = (AppSettingsSection)config.GetSection("appSettings");
                string valueSettingSendMail = section.Settings["sendMailAuditByMail"].Value;

                if(valueSettingSendMail == "true")
                    SendMail("Error :: Auditoria", ConfigurationManager.AppSettings["MailToError"], "-" + Message);

Sean felices! :) Y siéntanse libres de opinar ;)

No hay comentarios:

Publicar un comentario