using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Quanjiang.DigitalScholl.PushNotifications { internal static class ConfigManager { private static readonly bool Error; private static readonly Configuration AppConfig; static ConfigManager() { var dllPath =$"{AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory}\\Quanjiang.DigitalScholl.PushNotifications.dll"; try { AppConfig = ConfigurationManager.OpenExeConfiguration(dllPath); } catch (ConfigurationErrorsException) { Error = true; } } public static KeyValueConfigurationCollection AppSettings { get { if (Error) return null; return AppConfig.AppSettings.Settings; } } public static ConnectionStringSettingsCollection ConnectionStrings { get { if (Error) return null; return AppConfig.ConnectionStrings.ConnectionStrings; } } public static T GetSection(string name) where T : ConfigurationSection { if (Error) return null; return AppConfig.GetSection(name) as T; } } }