예제 #1
0
        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);
        }
예제 #2
0
        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));
            }
        }