Como obter o total preciso de visitantes no ASP.NET
Eu quero saber o número de visitantes on-line no meu site. Eu fiz minha pesquisa e encontrei duas soluções.
Fonte: Code Project
Contador de usuários ativos on-line no ASP.NET
É fácil de configurar e fácil de usar, mas aumenta a contagem de usuários para cada solicitação / resposta Ajax também. Minha página inicial tem 12 solicitações Ajax (8 solicitações para uma página e 4 solicitações para outra página). Isso aumenta drasticamente a contagem de usuários.
Fonte: estouro de pilha Q / A
Conte o não de visitantes Este funciona exatamente da mesma maneira que o anterior.
Fonte: Fórum ASP.NetComo ver "quem está online" usando c #
Este parece melhor que os dois anteriores. Aqui está o código de detalhe desta solução.
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 o aumento da contagem para cada resposta do Ajax, mas ela ainda é adicionada para cada atualização de página ou solicitação de página.
Existe alguma abordagem para contar o número exato de visitantes on-line no asp.net?