Beispiel #1
0
        private static ConfigurationDataContract ReadConfig()
        {
            if (!File.Exists(ConfigurationFilePath))
            {
                SaveConfig("");
                return(_ConfigurationData);
            }

            try
            {
                using (var reader = File.OpenRead(ConfigurationFilePath))
                {
                    var serializer = new DataContractJsonSerializer(typeof(ConfigurationDataContract));
                    lock ( _ConfigurationLock )
                    {
                        if (_ConfigurationData != null)
                        {
                            return(_ConfigurationData);
                        }
                        _ConfigurationData = (ConfigurationDataContract)serializer.ReadObject(reader);
                    }
                }
            }
            catch (Exception e)
            {
                SimpleLogger.Log(nameof(Configuration), e.Message);
                WriteToConfiguration("Cannot read configuration data at " + ConfigurationFilePath);
            }
            return(_ConfigurationData);
        }
Beispiel #2
0
        public static void Initialize()
        {
            var initializationState = Interlocked.Exchange(ref _IsInitialized, 1);

            if (initializationState == 1)
            {
                return;
            }

            _ConfigurationData = ReadConfig();
        }
Beispiel #3
0
 private static void WriteToConfiguration(string apiKey)
 {
     lock ( _ConfigurationLock )
     {
         if (_ConfigurationData == null)
         {
             _ConfigurationData = new ConfigurationDataContract();
         }
         _ConfigurationData.ApiKeyValue = apiKey;
     }
 }