Overblog Tous les blogs Top blogs Économie, Finance & Droit Tous les blogs Économie, Finance & Droit
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions

Publicité

un timer pour la gestion des expirations d’un cache

System.Threading.Timer –
un timer pour la gestion des expirations d’un cache
 
Cette classe a pour objectif de permettre la gestion des expirations des éléments d’un cache(ces expirations peuvent etre de plusieurs types : absolues,relatives,notifications)
Très simple on utilise un timer,qui sera appelé périodiquement pour vérifier chaque cacheItem du cache n’a pas pas expiré
Logiquement une instance de cette classe devrait etre créée et le timer lancé en même temps que l’on instancie le cache manager
 public class PollTimer :IDisposable
    {
        private System.Threading.Timer timer;
 
        public void StartPolling(TimerCallback callbackMethod, int period)
        {
            if (callbackMethod == null)
                throw new ArgumentNullException("callbackMethod");
            if (period <= 0)
                throw new Exception("period");
 
            timer = new System.Threading.Timer(callbackMethod, null, 1000, period);
        }
 
         public void StopPolling()
        {
            if (timer == null)
                throw new InvalidOperationException("");
 
            Dispose();
        }
 
        #region IDisposable Membres
 
        public void Dispose()
        {
            timer.Dispose();
            timer = null;
        }
 
        #endregion
    }
 
Exemple(code de la form) :
Le timer sera appelé toutes les secondes et affichera un message
 
        PollTimer pollTimer = new PollTimer();
 
        private void button1_Click(object sender, EventArgs e)
        {
            pollTimer.StartPolling(Message, 1000);
        }
 
 
        public void Message(object obj)
        {
            MessageBox.Show("now");
        }
 
 
Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article