コード例 #1
0
        public void Should_Extract_VersionNumber()
        {
            var parser = new CacheKeyParser(CacheKey);

            var version = parser.GetVersion();

            version.Should().Be(0);
        }
コード例 #2
0
        public void Should_Extract_Guid()
        {
            var parser = new CacheKeyParser(CacheKey);

            var itemId = parser.GetItemId();

            itemId.Should().Be(new Guid("{0BD9682B-2725-48E4-AAF6-950ADDC3CA19}"));
        }
コード例 #3
0
        public void Should_Extract_LanguageCode()
        {
            var parser = new CacheKeyParser(CacheKey);

            var languageCode = parser.GetLanguageCode();

            languageCode.Should().Be("en");
        }
コード例 #4
0
        private static void SetItemCacheInfo(DatabaseCacheInfo databaseCacheInfo, Database database)
        {
            databaseCacheInfo.ItemCacheInfo = new ItemCacheInfo
            {
                Name    = database.Caches.ItemCache.InnerCache.Name,
                Count   = database.Caches.ItemCache.InnerCache.Count,
                Size    = database.Caches.ItemCache.InnerCache.Size,
                MaxSize = database.Caches.ItemCache.InnerCache.MaxSize,
                Items   = database.Caches.ItemCache.InnerCache.GetCacheKeys().Select(cacheKey =>
                {
                    var cacheKeyParser = new CacheKeyParser(cacheKey);
                    var item           = database.Caches.ItemCache.GetItem(new ID(cacheKeyParser.GetItemId()),
                                                                           Language.Parse(cacheKeyParser.GetLanguageCode()), global::Sitecore.Data.Version.Parse(cacheKeyParser.GetVersion()));

                    return(new ItemInfo
                    {
                        Name = item.Name,
                        Language = item.Language.Name,
                        Path = item.Paths.FullPath,
                        Version = item.Version.Number
                    });
                }),
                CacheCountsByTemplateIds = database.Caches.ItemCache.InnerCache.GetCacheKeys()
                                           .Select(cacheKey =>
                {
                    var cacheKeyParser = new CacheKeyParser(cacheKey);
                    var item           = database.Caches.ItemCache.GetItem(new ID(cacheKeyParser.GetItemId()),
                                                                           Language.Parse(cacheKeyParser.GetLanguageCode()), global::Sitecore.Data.Version.Parse(cacheKeyParser.GetVersion()));
                    return(item.TemplateID);
                })
                                           .GroupBy(x => x)
                                           .Where(x => x != null)
                                           .Select(x => new CacheCountByTemplateId
                {
                    TemplateId   = x.Key.Guid,
                    TemplateName = TemplateManager.GetTemplate(x.Key, database).FullName,
                    Count        = x.Count()
                })
            };
        }