namespace Common.UI.Infrastructure { using System; using System.Configuration; using System.Linq; public static class Appsettings { private static readonly string dll = typeof(Appsettings).Assembly.Location; public static string GetSetting(string settingKey) { var settingValue = default(string); try { var configuration = ConfigurationManager.OpenExeConfiguration(dll); var settings = configuration.AppSettings.Settings; settingValue = settings[settingKey]?.Value; } catch (Exception e) { AppHost.NLogger.Error(e); } return settingValue; } public static string SetSetting(string settingKey, string settingValue) { try { var configuration = ConfigurationManager.OpenExeConfiguration(dll); var settings = configuration.AppSettings.Settings; if (!settings.AllKeys.Any(x => x == settingKey)) { settings.Add(settingKey, string.Empty); } settings[settingKey].Value = settingValue; configuration.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); } catch (Exception e) { AppHost.NLogger.Error(e); } return settingValue; } } }