private void ExpireSessions()
{
lock (sessions) {
foreach (int s in new List<int> (sessions.Keys)) {
User user = sessions[s];
if (DateTime.Now - user.LastActionTime > DefaultTimeout) {
sessions.Remove (s);
OnUserLogout (user);
}
}
}
}