Em minha aplicação desenvolvida em c#/asp.net gostaria de controlar quantos usuarios estão online. Tentei fazer através de uma flag no banco de dados, porém quando fecho browser no X não sei como fazer para atualizar no banco. Alguém pode me ajudar ou tem uma solução melhor para atualizar essa informação?
Obrigado!
MovidoRogerio Jerezterça-feira, 10 de novembro de 2009 22:22Movido para o Fórum Apropriado (De:Fórum MSDN)
Uma possibilidade seria controlar a sua flag no banco nos eventos Session_Start e Session_End, dentro do arquivo Global.asax. Se este arquivo não existir, adicione um novo item no seu projeto e escolha a opção "Global Application file".
publicvoid Session_Start() { Application.Lock(); // aqui você coloca o ID da sessão e o ID usuário que ficou online ((Dictionary<string, int>)Application["UsersOnline"]).Add(Session.SessionID, user.ID); Application.UnLock(); }
publicvoid Session_End() { Application.Lock(); // aqui você tira o ID do usuário que int userID = ((Dictionary<string, int>)Application["UsersOnline"])[Session.SessionID]; // agora você usa o ID do usuário para dar baixa no banco ou algo do tipo /* *** */ Application.UnLock(); }
Veja se ajuda ... senão poste novamente para que pensemos mais um pouco!
Abraço!
Marcio Paulo M. Martins - MCSD.NET / MCAD / MCP
Marcado como Respostadatasetrioquinta-feira, 14 de maio de 2009 14:05