+ return m_cache.GetOrAdd(name, valueFactory);
+ }
+
+ protected bool ComputeIfAbsent(string name, Func<string, bool> valueFactory)
+ {
+ return Convert.ToBoolean(m_cache.GetOrAdd(name, (key) => Convert.ToInt32(valueFactory(key))));
+ }
+
+ // =============================================================================
+ // Helper class
+ // =============================================================================
+
+ private static class AppConfHelper
+ {
+ private static readonly Lazy<KeyValueConfigurationCollection> m_settings = new Lazy<KeyValueConfigurationCollection>(InitializeSettings, LazyThreadSafetyMode.ExecutionAndPublication);
+
+ private static volatile object m_syncRoot;
+
+ public static string GetConfigValue(string name)