Exemple #1
0
        private void TimerCallback(object state)
        {
#if DEBUG
            // disable timer during debug, we don't want multiple callbacks fouling things up
            cacheTimer.Change(-1, -1);
#endif

            DateTime now = CryptoUtility.UtcNow;
            using (var lockerWrite = cacheTimerLock.LockWrite())
            {
                foreach (var item in cache.ToArray())
                {
                    if (item.Value.Key < now)
                    {
                        cache.Remove(item.Key);
                    }
                }
            }

#if DEBUG
            cacheTimer.Change(cacheTimerInterval, cacheTimerInterval);
#endif
        }