Так что я бы предположил, что есть два типа простоев, незапланированные и запланированные.
Внеплановое время простоя происходит, когда есть ошибка, из-за которой ваша компания теряет деньги, и ее необходимо исправить независимо от того, сколько пользователей в настоящее время находится в системе. Не имеет смысла иметь систему, которая сообщает вам количество активных пользователей, потому что это не имеет значения.
Запланированное время простоя происходит как часть обычного процесса исправления ошибок, не вызывающих остановок, и добавления функций. В этой ситуации я бы проанализировал тенденции пользователей, чтобы выяснить, в какое время количество активных пользователей является самым низким. Это минимизирует количество помех для пользователей. Для этого я бы взял журналы IIS за последний месяц и создал запрос в LogParser , который группирует все запросы по времени суток, по дням, упорядоченные по количеству запросов по возрастанию. У Джеффа Этвуда есть хороший пост о том, как его использовать.
РЕДАКТИРОВАТЬ: Я сталкивался с это на кодпроекте через другой пост stackoverflow. Похоже, что это может быть то, что вы после. Кроме того, если вы используете поставщика членства, вы можете использовать метод GetNumberOfUsersOnline .