Ejemplo n.º 1
0
        public SimpleCache(
            TimeSpan expirationTimeSpan,
            CacheExpirationTypes expirationType,
            IEnumerable <CacheItem <K, V> > items = null)
        {
            if (items != null)
            {
                Parallel.ForEach(items, AddItem);
            }

            Initialize(expirationTimeSpan, expirationType);
        }
Ejemplo n.º 2
0
        public SimpleCache(
            TimeSpan expirationTimeSpan,
            CacheExpirationTypes expirationType,
            IProducerConsumerCollection <CacheItem <K, V> > items)
        {
            if (items != null)
            {
                Parallel.ForEach(items, AddItem);
            }

            Initialize(expirationTimeSpan, expirationType);
        }
Ejemplo n.º 3
0
        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);
            }
        }