/// <summary> /// Gets the best story ids. /// </summary> /// <param name="number">The number of ids to be returned.</param> /// <returns></returns> public IEnumerable <int> GetBestStoryIds(int number) { if (MemoryCacheProvider.GetValue("Ids") is IEnumerable <int> storyIds) { return(storyIds); } int numberOfStories = Convert.ToInt32(_configuration["NumberOfStories"]); storyIds = _reader.GetBestStoriesIds().Take(numberOfStories); int cacheIdsMinutes = Convert.ToInt32(_configuration["CacheIdsMinutes"]); MemoryCacheProvider.Add("Ids", storyIds, DateTime.Now.AddMinutes(cacheIdsMinutes)); return(storyIds); }