public string ClearCache(Talk talk) { var talkKey = GetTalkKey(talk.ConferenceId, talk.TalkName); memoryCache.Remove(LatestTalksKey); memoryCache.Remove(talk.Speaker); memoryCache.Remove(talk.ConferenceId); memoryCache.Remove(GetConferenceTalksKey(talk.ConferenceId)); memoryCache.Remove(GetTalkViewKey(talk.ConferenceId, talk.TalkName)); memoryCache.Remove(TalkPersistence.GetThumbnailKey(talk.TalkName)); memoryCache.Remove(TalkPersistence.GetThumnnailHashName(talk.TalkName)); memoryCache.Remove(SpeakersKey); memoryCache.Remove(talkKey); return(talkKey); }
public async Task <IActionResult> GetTalkThumbnail(string conferenceId, string talkName) { Console.WriteLine($"GetTalkThumbnail " + conferenceId + " " + talkName); var view = await cache.GetOrSet(TalkPersistence.GetThumbnailKey(talkName), GetThumbnail); return(view); async Task <IActionResult> GetThumbnail() { var conference = GetConferenceFromId(conferenceId); var thumbnail = await thumbnailService.GetTalkThumbnail(conference, talkName); return(File(thumbnail.ImageData, thumbnail.ContentType)); } }