public ObjectCache(ObjectCacheSettings settings, IEqualityComparer <TKey> comparer) { this.settings = settings.Clone(); this.cacheItems = new Dictionary <TKey, Item <TKey, TValue> >(comparer); this.idleTimeoutEnabled = settings.IdleTimeout != TimeSpan.MaxValue; this.leaseTimeoutEnabled = settings.LeaseTimeout != TimeSpan.MaxValue; }
public ObjectCache(ObjectCacheSettings settings, IEqualityComparer <TKey> comparer) { Fx.Assert(settings != null, "caller must use a valid settings object"); this.settings = settings.Clone(); this.cacheItems = new Dictionary <TKey, Item>(comparer); // idle feature is disabled if settings.IdleTimeout == TimeSpan.MaxValue this.idleTimeoutEnabled = (settings.IdleTimeout != TimeSpan.MaxValue); // lease feature is disabled if settings.LeaseTimeout == TimeSpan.MaxValue this.leaseTimeoutEnabled = (settings.LeaseTimeout != TimeSpan.MaxValue); }