예제 #1
0
        public static AppConfigSection GetInstance()
        {
            if (instance == null)
            {
                lock (lob)
                {
                    if (instance == null)
                    {
                        configFilePath = Assembly.GetEntryAssembly().Location;
                        if (configFilePath.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase))
                        {
                            configFilePath = configFilePath.Remove(configFilePath.Length - 7);
                        }

                        Configuration config = ConfigurationManager.OpenExeConfiguration(configFilePath);

                        if (config.Sections[SectionName] == null)
                        {
                            instance = new AppConfigSection();
                            config.Sections.Add(SectionName, instance);
                            config.Save(ConfigurationSaveMode.Modified);
                        }
                        else
                        {
                            instance = (AppConfigSection)config.Sections[SectionName];
                        }
                    }
                }
            }
            return(instance);
        }
예제 #2
0
        public void Save()
        {
            Configuration    config  = ConfigurationManager.OpenExeConfiguration(configFilePath);
            AppConfigSection section = (AppConfigSection)config.Sections[SectionName];

            section.WebApi    = this.WebApi;
            section.Device    = this.Device;
            section.Scheduler = this.Scheduler;
            section.AppMode   = this.AppMode;

            config.Save(ConfigurationSaveMode.Modified);
        }