public void PopulateContextEntries(IEnumerable <string> contexts, List <CacheContextEntry> entries) { if (contexts.Any(ctx => String.Equals(ctx, "features", StringComparison.OrdinalIgnoreCase))) { // Add a hash of the enabled features entries.Add(new CacheContextEntry("features", _featureHash.GetFeatureHashAsync().Result.ToString(CultureInfo.InvariantCulture))); // If we track any changed feature, we don't need to look into specific ones return; } foreach (var context in contexts.Where(ctx => ctx.StartsWith(FeaturesPrefix, StringComparison.OrdinalIgnoreCase))) { var featureName = context.Substring(FeaturesPrefix.Length); var hash = _featureHash.GetFeatureHashAsync(featureName).Result.ToString(CultureInfo.InvariantCulture); entries.Add(new CacheContextEntry("features", hash)); } }
public async Task PopulateContextEntriesAsync(IEnumerable <string> contexts, List <CacheContextEntry> entries) { if (contexts.Any(ctx => string.Equals(ctx, "features", StringComparison.OrdinalIgnoreCase))) { // Add a hash of the enabled features var hash = await _featureHash.GetFeatureHashAsync(); entries.Add(new CacheContextEntry("features", hash.ToString(CultureInfo.InvariantCulture))); } else { foreach (var context in contexts.Where(ctx => ctx.StartsWith(FeaturesPrefix, StringComparison.OrdinalIgnoreCase))) { var featureName = context.Substring(FeaturesPrefix.Length); var hash = await _featureHash.GetFeatureHashAsync(featureName); entries.Add(new CacheContextEntry("features", hash.ToString(CultureInfo.InvariantCulture))); } } }