Veja como criar um sistema on-line de controle para uma vídeo-locadora - Parte 4 Nesse artigo veremos · Uso de sessão no ASP.NET; · Armazenamento de variáveis em sessão; · Controle de quais usuários se encontram on-line. Qual a finalidade · Fazer com que o Web Site determine quais usuários estão atualmente logados. Quais situações utilizam esses recursos? · Muitos Web Sites utilizam esse recurso, inclusive fazendo log de ações que determinado usuário logado efetuou. Continuando o desenvolvimento da nossa aplicação ASP.NET com Delphi for .NET, sobre um sistema on-line de vídeo-locadora, atendendo algumas solicitações que recebi por e-mail, veremos agora como realizar um controle de usuários on-line e logados no sistema, exibindo o resultado em números e também lista de nomes. Mão na massa! Exibindo usuários logados no sistema Observados geralmente em fóruns de discussão, a lista de nomes dos usuários logados é uma interessante maneira de saber quais os usuários que estão interagindo com o sistema naquele exato momento. Da mesma forma, o número de usuários ativos em uma aplicação é uma informação importante para o cálculo de estatísticas de acessos a um portal. Mas você deve estar se perguntando, como vou poder controlar todos os usuários que acessam minha página? Em que momento devo contabilizar a visita deste usuário? Como saber se o usuário ainda permanece no sistema? Onde armazenar a lista de usuários que estão on-line? São estas as perguntas que responderei a seguir através de uma implementação prática em nosso projeto, mostrando o passo-a-passo que deverá ser seguido para obter o resultado final. Entendendo a lógica O controle de acesso de usuários a uma página é realizado através de eventos que ocorrem de forma automática simultâneo à solicitação do acesso. No Delphi 2006, com o seu projeto de locadora aberto, verifique no Project Manager a disponibilidade da “Global.asax” e veja em suas declarações de código (“Global.pas”) os métodos Application_Start, Session_Start e Session_End referenciados ao início de execução da aplicação, início de uma seção gerada por acesso de usuário e fim de seção de usuários respectivamente. Serão nestes procedimentos que programaremos os códigos para controle e exibição da quantidade e nome dos usuários a navegar pela página. Para cada acesso, os próprios controles do .NET Framework se responsabilizam por criar uma sessão, um ID único para cada usuário. É através desta chave que identificaremos cada um dos usuários. Criada pelo procedimento Session_Start a chave permanece inalterada durante todo tempo que o usuário permanecer ativo. Para usuários ociosos no sistema, estabelecemos um tempo limite de conexão, onde o mesmo permanece conectado e ultrapassando o tempo, sua seção será automaticamente excluída, removendo-o da lista de usuários ativos. Através desta funcionalidade conseguiremos identificar os momentos em que um usuário se conecta, o período que permanece ativo e o momento em que sua sessão é encerrada, deixando o sistema. Mas, onde armazeno estas informações? – Estas informações ficarão armazenadas em uma tabela do banco de dados, onde para cada ação de usuário um novo registro contendo o ID da sessão e nome do usuário será gravado. Durante todo o tempo que ele permanecer on-line o registro ficará estável, e ao deixar a aplicação, no evento Session_End sua identificação será localizada e excluída do banco de dados. A tabela a ser criada na base de dados é simples, contendo dois campos apenas (ID e Nome do Usuário), onde o código a seguir deverá ser executado através do Editor de SQL ligado à base de dados. O código irá criar a tabela “USUARIOS_ON-LINE” e dentro da mesma os Fields ID_USUARIO e USUARIO ambos do tipo varchar: CREATE TABLE USUARIOS_ON-LINE ( ID_USUARIO VARCHAR(30) CHARACTER SET NONE, USUARIO ...
Quer ler esse conteúdo completo?
Tenha acesso completo