public async Task <ExpandoObject> GetMasterAsync(ICurrentRequest currentRequest) { var cacheItemValue = await _dataFactory.CacheRepository.GetValueAsync <ExpandoObject>(currentRequest, CacheRepository.CacheMasterKey); if (cacheItemValue == null) { var master = await _cacheProvider.GetMasterAsync(currentRequest); var cacheItem = new CacheItem(); cacheItem.Value = JsonConvert.SerializeObject(master); cacheItem.Key = JsonConvert.SerializeObject(currentRequest); cacheItem.Type = CacheRepository.CacheMasterKey; cacheItem.SiteId = currentRequest.SiteId; cacheItem.CreateDate = DateTime.Now; await _dataFactory.CacheRepository.SaveAsync(cacheItem); return(master); } // cacheItem.MasterJson //Json. ExpandoObject return(cacheItemValue); }