internal static void ResetImplementation(string configurationFilepath, bool refreshing) { string rootedConfigurationFilepath = RootConfigurationFilePath(configurationFilepath); FileConfigurationSourceImplementation currentImplementation = null; implementationByFilepath.TryGetValue(rootedConfigurationFilepath, out currentImplementation); implementationByFilepath[rootedConfigurationFilepath] = new FileConfigurationSourceImplementation(rootedConfigurationFilepath, refreshing); if (currentImplementation != null) { currentImplementation.Dispose(); } }
private static void EnsureImplementation(string rootedConfigurationFile) { if (!implementationByFilepath.ContainsKey(rootedConfigurationFile)) { lock (lockObject) { if (!implementationByFilepath.ContainsKey(rootedConfigurationFile)) { FileConfigurationSourceImplementation implementation = new FileConfigurationSourceImplementation(rootedConfigurationFile); implementationByFilepath.Add(rootedConfigurationFile, implementation); } } } }