static VisitCounter() { var timer = new Timer(10000) { Enabled = true }; timer.Start(); timer.Elapsed += (sender, e) => VisitorList.RemoveWhere(x => x.LatestVisitAt < DateTime.Now.AddMinutes(-5)); }
public static void Init() { if (!Initialized) { lock (Lock) { if (!Initialized && _timer == null) { _counter++; _timer = new Timer(ViCounterSettings.RefreshInterval * 1000) { Enabled = true }; _timer.Start(); _timer.Elapsed += (sender, e) => { //Console.WriteLine($"Start clear expired session, interval:{ViCounterSettings.RefreshInterval}, count:{_counter}..."); VisitorList.RemoveWhere(x => x.ExpiredAt < DateTime.Now); //Console.WriteLine("Expired session clear completed."); }; } } } }