/// <summary> /// Creates a concrete Config Provider instance /// </summary> /// <param name="componentName">The name of the component that this Provider will manage</param> /// <param name="validationHandlers">A collection of functions that will validate config data for use with the specified Component</param> /// <returns>A new instance of the Config Provider</returns> public IConfigProvider Create(string componentName, Dictionary<string, Func<string, bool>> validationHandlers) { string repositoryDataDirectory = Path.Combine(_fileSystem.GetTempDirectoryPath(), _applicationAssemblyName); var configServiceProvider = new ConfigServiceProvider(componentName, _configServiceHttpClient); var cacheProvider = new DurableMemoryRepository<ConfigRoot>(repositoryDataDirectory, _fileSystem); var configProvider = new ConfigProvider(componentName, validationHandlers, configServiceProvider, cacheProvider); return configProvider; }