public IActionResult GetVideoCategories(string regionCode) { var cacheKey = "regionCode_" + regionCode.ToLower(); if (!this.memoryCache.TryGetValue(cacheKey, out string videoCategories)) { videoCategories = ytService.GetVideoCategories(regionCode); var chacheExpirationOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddHours(6), Priority = CacheItemPriority.Normal, SlidingExpiration = TimeSpan.FromMinutes(5) }; this.memoryCache.Set(cacheKey, videoCategories, chacheExpirationOptions); } using (StreamReader stream = new StreamReader(HttpContext.Request.Body)) { return(Ok(JsonConvert.DeserializeObject(videoCategories))); } }