Как получить точное общее количество посетителей в ASP.NET
Я хочу знать количество посетителей онлайн на моем сайте. Я сделал свое исследование и нашел два решения.
Источник: код проекта
Онлайн счетчик активных пользователей в ASP.NET
Он прост в настройке и использовании, но также увеличивает количество пользователей для каждого запроса / ответа Ajax. Одна только моя домашняя страница имеет 12 запросов Ajax (8 запросов на одну страницу и 4 запроса на другую страницу). Это резко увеличивает количество пользователей.
Источник: Переполнение стека Q / A
Посчитайте количество посетителей
Этот работает точно так же, как и предыдущий.
Источник: ASP.Net Forum Как узнать, кто в сети? используя C #
Этот выглядит лучше, чем предыдущие два. Вот подробный код этого решения.
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
HttpContext.Current.Application["visitors_online"] = 0;
}
void Session_Start(object sender, EventArgs e)
{
Session.Timeout = 20; //'20 minute timeout
HttpContext.Current.Application.Lock();
Application["visitors_online"] = Convert.ToInt64(HttpContext.Current.Application["visitors_online"]) + 1;
HttpContext.Current.Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
HttpContext.Current.Application.Lock();
Application["visitors_online"] = Convert.ToInt64(HttpContext.Current.Application["visitors_online"]) - 1;
HttpContext.Current.Application.UnLock();
}
Кажется, что можно игнорировать увеличение количества для каждого ответа Ajax, но оно все равно складывается для каждого обновления страницы или запроса страницы.
Есть ли подход для подсчета точного количества онлайн-посетителей в ASP.Net?