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)); }
public void Add(CacheItemDetailElement element) { base.BaseAdd(element); }