public Task <ActivatorParameter> FindParameterAsync(string name, string featureName, string activatorType) { ActivatorParameter parameter = null; var entry = _memoryCache.Get(string.Format(FEATURE_CACHE_KEY_FORMAT, featureName)); if (entry != null) { var configuration = (Dictionary <Type, Dictionary <string, object> >)_memoryCache .Get(string.Format(CONFIGURATION_CACHE_KEY_FORMAT, featureName)); var parameters = configuration.Where(cfg => cfg.Key.Name == activatorType) .SingleOrDefault() .Value; if (parameters != null && parameters.ContainsKey(name)) { parameter = new ActivatorParameter() { FeatureName = featureName, ActivatorType = activatorType, Name = name, Value = parameters[name].ToString() }; } else { _logger.LogWarning($"The parameter {name} for activator {activatorType} is not present in the store."); } } else { _logger.LogWarning($"The parameter {name} for activator {activatorType} can't be located because feature {featureName} is not persisted."); } return(Task.FromResult <ActivatorParameter>(parameter)); }
public Task <ActivatorParameter> FindParameterAsync(string name, string featureName, string activatorType) { ActivatorParameter parameter = null; using (var client = _clientManager.GetReadOnlyClient()) { var parametersKey = $"xabaril:features:{featureName}:activator:{activatorType}:parameter:{name}"; var value = client.Get <string>(parametersKey); if (value != null) { parameter = new ActivatorParameter() { Name = name, ActivatorType = activatorType, FeatureName = featureName, Value = value }; } } return(Task.FromResult(parameter)); }