Kaynağa Gözat

Added option to configuration to prevent loading the cache.

Kenric Nugteren 2 yıl önce
ebeveyn
işleme
516ee9366e

+ 8 - 5
InABox.Configuration/GlobalConfiguration.cs

@@ -43,12 +43,15 @@ namespace InABox.Configuration
             return result ?? NewSettings();
         }
 
-        public override T Load()
+        public override T Load(bool useCache = true)
         {
-            var cached = ConfigurationCache.Check<T>(ConfigurationCacheType.Global, Section);
-            if (cached != null)
-                //Logger.Send(LogType.Information, "", "Global Config: Returning Cached Configuration Data");
-                return cached;
+            if (useCache)
+            {
+                var cached = ConfigurationCache.Check<T>(ConfigurationCacheType.Global, Section);
+                if (cached != null)
+                    //Logger.Send(LogType.Information, "", "Global Config: Returning Cached Configuration Data");
+                    return cached;
+            }
 
             var result = new T();
 

+ 2 - 2
InABox.Configuration/IConfiguration.cs

@@ -7,7 +7,7 @@ namespace InABox.Configuration
     {
         string[] Sections();
 
-        T Load();
+        T Load(bool useCache = true);
         Dictionary<string, T> LoadAll();
 
         void Save(T obj);
@@ -37,7 +37,7 @@ namespace InABox.Configuration
 
         public abstract Dictionary<string, T> LoadAll();
 
-        public abstract T Load();
+        public abstract T Load(bool useCache = true);
 
         public abstract void Save(T obj);
         public abstract void SaveAll(Dictionary<string, T> objs);

+ 8 - 5
InABox.Configuration/LocalConfiguration.cs

@@ -60,12 +60,15 @@ namespace InABox.Configuration
             return config ?? new Dictionary<string, T>();
         }
 
-        public override T Load()
+        public override T Load(bool useCache = true)
         {
-            var cached = ConfigurationCache.Check<T>(ConfigurationCacheType.Local, Section);
-            if (cached != null)
-                //Logger.Send(LogType.Information, "", "Local Config: Returning Cached Configuration Data");
-                return cached;
+            if (useCache)
+            {
+                var cached = ConfigurationCache.Check<T>(ConfigurationCacheType.Local, Section);
+                if (cached != null)
+                    //Logger.Send(LogType.Information, "", "Local Config: Returning Cached Configuration Data");
+                    return cached;
+            }
 
             //Logger.Send(LogType.Information, "", "Local Config: Creating "+typeof(T).EntityName().Split('.').Last());
 

+ 8 - 5
InABox.Configuration/UserConfiguration.cs

@@ -55,12 +55,15 @@ namespace InABox.Configuration
             return string.Format("{0}.{1}", section ?? Section, ClientFactory.UserID);
         }
 
-        public override T Load()
+        public override T Load(bool useCache = true)
         {
-            var cached = ConfigurationCache.Check<T>(ConfigurationCacheType.User, GetKey());
-            if (cached != null)
-                //Logger.Send(LogType.Information, "", "User Config: Returning Cached Configuration Data");
-                return cached;
+            if (useCache)
+            {
+                var cached = ConfigurationCache.Check<T>(ConfigurationCacheType.User, GetKey());
+                if (cached != null)
+                    //Logger.Send(LogType.Information, "", "User Config: Returning Cached Configuration Data");
+                    return cached;
+            }
 
             var result = new T();