Comment obtenir le total exact de visiteurs à compter dans ASP.NET

Je veux savoir le nombre de visiteurs en ligne sur mon site. J'ai fait mes recherches et trouvé deux solutions.

Source: Code Du Projet

En ligne d'utilisateurs actifs contre dans ASP.NET

Il est facile à installer et facile à utiliser, mais il augmente le nombre d'utilisateurs pour chaque requête Ajax/réponse trop. Ma page d'accueil, seul, a 12 requêtes Ajax(8 demandes à une page et 4 demandes sur une autre page). Cela augmente considérablement le nombre d'utilisateurs.

Source: Débordement De Pile Q/A

Compter les pas des Visiteurs
Celui-ci fonctionne exactement le même que le précédent.

Source: ASP.Net Forum
Comment faire pour voir "qui est en ligne" à l'aide de C#

Celui-ci semble mieux que les deux précédents. Voici le détail de code de cette solution.

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

Il semble être capable d'ignorer le en augmentant le nombre de pièces pour chaque Ajax réponse, mais il ajoute encore, pour chaque rafraichissement de la page ou de la page de demande.

Est-il de toute approche de compter le nombre exact de visiteurs en ligne en ASP.Net?

  • Meilleure façon que je peux penser serait de raccordement dans le Session_Start() dans le monde.asax fichier. Incrément de votre compte, il
InformationsquelleAutor Jonas T | 2012-07-09