Caro(a) Leitor(a), hoje vou falar e mostrar como criar na sua aplicação um contador que funciona em tempo real dos usuários que estão acessando, mesmo os usuários não cadastrados; isto é; dá para saber quantas pessoas estão acessando, a qualquer momento, o seu site ou sistema online.
Cada figura neste artigo mostra o passo a passo para que não perca nenhum detalhe.
Tag: Global, C#.NET, Visual Studio
Existem várias maneiras de fazer isso, hoje o Google Analytics tem uma opção para saber quantos usuários estão online. Existe uma outra maneira que é o desenvolvimento na aplicação usando o Global.asax.cs.
No Google Analytics, você precisa colocar algumas linhas de código javascript no site, depois basta acompanhar a quantidade de usuário no menu Tempo Real que ainda está na versão beta. Figura 1.
Figura 1. Google Analytics

No próprio site do Google Analytics existe a opção de criar o arquivo de javascript. Você pode também confiar diretamente no seu aplicativo somando automaticamente. Para isso, o primeiro passo é criar o arquivo Global.asax.cs.
O primeiro passo foi criar o arquivo Global.asax. Figura 2.
Figura 2. Botão direito em cima do projeto

Cliquei com o botão direito em cima do projeto, escolhi o submenu Add e em seguida o New Item... A próxima tela basta escolher o tipo do arquivo. Figura 3.
Figura 3. Escolha do tipo do arquivo.

Dentre os vários tipos, escolhi o Global Application Class, deixei o mesmo nome e cliquei no botão Add. Apareceu no projeto o arquivo com vários métodos criados. Listagem 1.
Listagem 1: Métodos criados automaticamente.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Security;
using
System.Web.SessionState;
namespace
WebApplication3
{
public
class Global : System.Web.HttpApplication
{
protected
void Application_Start(object sender, EventArgs e)
{
}
protected
void Session_Start(object sender, EventArgs e)
{
}
protected
void Application_BeginRequest(object sender, EventArgs e)
{
}
protected
void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
protected
void Application_Error(object sender, EventArgs e)
{
}
protected
void Session_End(object sender, EventArgs e)
{
}
protected
void Application_End(object sender, EventArgs e)
{
}
}
}
Para gerar o contador automático, vou utilizar pelo menos três destes métodos já criados pelo Framework e Visual Studio. O primeiro passo é criar uma variável chamada contador de acessos dentro do método Application_Start.
É necessário criar dentro do Application_Start, isso porque quando a aplicação for iniciada a primeira vez, a variável começa com o valor zero. Você pode colocar o nome que quiser. Listagem 2.
Listagem 2: Application_Start
protected
void Application_Start(object sender, EventArgs e)
{
Application["ContadorAcessos"]
= 0;
}
É necessário usar ainda dois métodos da classe Global para somar e diminuir o valor da variável. A cada acesso, o sistema soma os valores e adicionando na variável. Para somar, use o método Session_Start. Listagem 3.
Listagem 3: Somando valores e atribuindo a variável.
protected
void Session_Start(object sender, EventArgs e)
{
Application["ContadorAcessos"]
= (int)(Application["ContadorAcessos"]) + 1;
}
Quando um usuário sai do site, é necessário diminuir o valor de forma automática e simples. O método utilizado é o Session_End, ou seja, quando a sessão do usuário for finalizada. Listagem 4.
Listagem 4: Diminuindo valores.
protected
void Session_End(Object sender, EventArgs e)
{
Application["ContadorAcessos"]
= (int)(Application["ContadorAcessos"]) - 1;
}
Depois de somar e diminuir os valores, basta usar a variável dentro de qualquer parte do código, aspx, vb, c# e outros. Basta usar Application[“ContadorAcessos”].ToString(). A fim de deixar mais organizado o código para entendimento, segue todo o código construído. Listagem 5.
Listagem 5. Todo o código da classe.
protected
void Session_Start(object sender, EventArgs e)
{
Application["ContadorAcessos"]
= (int)(Application["ContadorAcessos"]) + 1;
}
protected
void Session_End(Object sender, EventArgs e)
{
Application["ContadorAcessos"]
= (int)(Application["ContadorAcessos"]) - 1;
}
protected
void Application_Start(object sender, EventArgs e)
{
Application["ContadorAcessos"]
= 0;
}
Bom, espero que tenha gostado e qualquer dúvida pode entrar em contato pelo site pessoal
www.mauriciojunior.org