コード例 #1
0
        public static CacheConfig Build(Type providerType, String region, CacheConfigurationSection section)
        {
            if (section == null)
            {
                return(CacheConfig.Empty);
            }

            var provider = providerType.FullName;
            CacheItemDetailElement detail = null;

            foreach (var item in section.Details.OfType <CacheItemDetailElement>())
            {
                if (item.Provider == provider && item.Region == region)
                {
                    detail = item;
                    break;
                }
            }

            TimeSpan?maxExpiration = null;

            if (detail == null)
            {
                if (section.MaxExpirationHour > 0)
                {
                    maxExpiration = TimeSpan.FromHours(section.MaxExpirationHour);
                }
                return(new CacheConfig(section.Pattern, section.Readonly, section.FormatNullRegion, maxExpiration));
            }

            var pattern = detail.Pattern;

            if (String.IsNullOrWhiteSpace(pattern))
            {
                pattern = section.Pattern;
            }
            if (detail.MaxExpirationHour > 0)
            {
                maxExpiration = TimeSpan.FromHours(detail.MaxExpirationHour);
            }
            return(new CacheConfig(pattern, detail.Readonly, detail.FormatNullRegion, maxExpiration));
        }
コード例 #2
0
 public void Add(CacheItemDetailElement element)
 {
     base.BaseAdd(element);
 }