/// <summary> /// Cleans all the chat roomsDeletes the empty chat rooms /// </summary> /// <param name="state"></param> public static void CleanChatRooms(object state) { lock (Rooms) { foreach (object key in Rooms.Keys) { ChatRoom room = Rooms[key.ToString()]; room.ExpireUsers(userChatRoomSessionTimeout); if (room.IsEmpty()) { room.Dispose(); Rooms.Remove(key.ToString()); } } } }
/// <summary> /// Deletes the empty chat rooms /// </summary> /// <param name="state"></param> public static void CleanChatRooms(object state) { Monitor.Enter(Rooms); foreach (object key in Rooms.Keys) { ChatRoom room = (ChatRoom)Rooms[key.ToString()]; room.ExpireUsers(100); if (room.IsEmpty()) { room.Dispose(); Rooms.Remove(key.ToString()); } } Monitor.Exit(Rooms); }