コード例 #1
0
        public ContentSnippetModel GetSnippet(SnippetType snippetType)
        {
            var cacheKey = SnippetCachePrefix + snippetType.ToString();

            if (_memoryCache.TryGetValue(cacheKey, out ContentSnippetModel snippet))
            {
                return(new ContentSnippetModel()
                {
                    Content = snippet.Content,
                    SnippetType = snippet.SnippetType
                });
            }
            else
            {
                var dbModel = _contentSnippetRepository.Get(snippetType);

                if (dbModel == null)
                {
                    return(new ContentSnippetModel());
                }

                var model = new ContentSnippetModel()
                {
                    Content     = dbModel.Content,
                    SnippetType = dbModel.SnippetType
                };

                _memoryCache.Set(cacheKey, model);

                return(model);
            }
        }
コード例 #2
0
ファイル: Snippet.cs プロジェクト: atnartur/Ulearn
 public override string ToString()
 {
     return($"SnippetWith{SnippetType.ToString()}(Hash={Hash}, TokensCount={TokensCount})");
 }
コード例 #3
0
        public void ClearSnippetCache(SnippetType snippetType)
        {
            var cacheKey = SnippetCachePrefix + snippetType.ToString();

            _memoryCache.Remove(cacheKey);
        }