Как получить точное общее количество посетителей в 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?

Ответы на вопрос(6)

Ваш ответ на вопрос