public SimpleCache( TimeSpan expirationTimeSpan, CacheExpirationTypes expirationType, IEnumerable <CacheItem <K, V> > items = null) { if (items != null) { Parallel.ForEach(items, AddItem); } Initialize(expirationTimeSpan, expirationType); }
public SimpleCache( TimeSpan expirationTimeSpan, CacheExpirationTypes expirationType, IProducerConsumerCollection <CacheItem <K, V> > items) { if (items != null) { Parallel.ForEach(items, AddItem); } Initialize(expirationTimeSpan, expirationType); }
protected void Initialize(TimeSpan expirationTimeSpan, CacheExpirationTypes expirationType ) { _cacheExpirationDuration = expirationTimeSpan; _expirationType = expirationType; if (ExpirationType == CacheExpirationTypes.Timed) { _timer = new Timer(s => { ExpireCacheItems(); }, null, TimeSpan.FromSeconds(1.0), _cacheExpirationDuration); } }