protected virtual async Task <FeatureValueCacheItem> GetCacheItemAsync(string name, string providerName, string providerKey) { var cacheKey = CalculateCacheKey(name, providerName, providerKey); var cacheItem = await Cache.GetAsync(cacheKey); if (cacheItem != null) { return(cacheItem); } var featureValue = await FeatureValueRepository.FindAsync(name, providerName, providerKey); cacheItem = new FeatureValueCacheItem(featureValue?.Value); await Cache.SetAsync( cacheKey, cacheItem ); return(cacheItem); }
protected virtual string CalculateCacheKey(string name, string providerName, string providerKey) { return(FeatureValueCacheItem.CalculateCacheKey(name, providerName, providerKey)); }