Cómo obtener el total de visitantes precisos en ASP.NET

Quiero saber el número de visitantes en línea en mi sitio. Hice mi investigación y encontré dos soluciones.

Fuente: Proyecto de Código
Contador de usuarios activos en línea en ASP.NET

Es fácil de configurar y usar, pero también aumenta la cantidad de usuarios para cada solicitud / respuesta Ajax. Solo mi página de inicio tiene 12 solicitudes Ajax (8 solicitudes a una página y 4 solicitudes a otra página). Esto aumenta dramáticamente el número de usuarios.

Fuente: desbordamiento de pila Q / A
Contar el no de visitantes Este funciona exactamente igual que el anterior.

Fuente: Foro ASP.NetCómo ver "quién está en línea" usando C #

Este se ve mejor que los dos anteriores. Aquí está el código de detalle de esta solución.

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();
    }

Parece ser capaz de ignorar el aumento en el recuento para cada respuesta Ajax pero aún así se suma para cada actualización de página o solicitud de página.

¿Hay algún enfoque para contar el número exacto de visitantes en línea en ASP.Net?

Respuestas a la pregunta(6)

Su respuesta a la pregunta