Usuário com melhor resposta
Como controlar quantidade de Acesso ao Sistema - ASP.NET, C#

Pergunta
-
Pessoal,
Minha empresa possui um sistema windows forms, onde quando ele é vendido para o cliente o mesmo possui uma quantidade de acesso simultâneo, ou seja, se 3 computadores irão utilizar o sistema, é vendido 3 licenças, e o sistema bloqueia se 4 computadores tentarem utilizar, nao deixa realizar o login, dizendo que excedeu o numero de acesso.
Agora estamos migrando o sistema todo para asp.net, utilizando o c#. Como seria o melhor método para se tratar essas quantidades de acessos ? Queremos continuar com a mesma idéia.
Alguma sugestao? Obrigado!
Respostas
-
Que tal contar quantas sessions estão ativas?
Cada session representa um usuário no sistema. Veja como contar isso nesse link: http://stackoverflow.com/questions/6218401/how-to-count-sessions-in-asp-net-server-application
Sou só uma little padawan que tem sorte de andar com jedis, mas farei o possível por quem precisar :)
Se precisar: @MayogaX- Marcado como Resposta Gustavo Brum quinta-feira, 25 de outubro de 2012 13:57
Todas as Respostas
-
-
-
Que tal contar quantas sessions estão ativas?
Cada session representa um usuário no sistema. Veja como contar isso nesse link: http://stackoverflow.com/questions/6218401/how-to-count-sessions-in-asp-net-server-application
Sou só uma little padawan que tem sorte de andar com jedis, mas farei o possível por quem precisar :)
Se precisar: @MayogaX- Marcado como Resposta Gustavo Brum quinta-feira, 25 de outubro de 2012 13:57
-
Uma maneira de fazer seria usar os Membership para controlar as permissões no seu site e então utilizar:
Membership.GetNumberOfUsersOnline();
Ou uma outra forma também, é utilizar o objeto application, no global.asax utilizar um incremento e na sua tela de login fazer a verificação.- Sugerido como Resposta Lucas Vandor quarta-feira, 24 de outubro de 2012 12:12
- Não Sugerido como Resposta Gustavo Brum quarta-feira, 24 de outubro de 2012 12:50
-
Veja se esse artigo também consegue te ajudar...http://www.codeproject.com/Articles/29792/Online-active-users-counter-in-ASP-NET
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
-
Guilherme, utilizando essa solução do membership se eu logar com o mesmo usuário em várias máquinas ele irá me retornar 1 usuário online ? Já a outra solução é parecida com a que Priscila citou, o problema para ela é o decremento.
Obrigado pessoal, podem dar sugestão a vontade, preciso de uma solução para isso.
Abraço.
-
Com o membership ele vai pegar os usuários logados independente do login. Mas você também pode usar a solução da Priscila, se o usuário fechar sem dar logout, não tenho certeza, mas acho que de qualquer forma ele passará pelo Session_End do global.asax, se não passar você pode fazer um decremento em um evento javascript, no onbeforeunload.
-
-
-
-
-
-
O objeto Membership trabalha em conjunto com as sessions, como você trata quando o usuário faz o logout? você limpa alguma session?
E quanto a questão de algum evento no botão X do browser realmente não tem, a minha sugestão é que se o valor do retorno do confirm for true você realiza o decremento.
-
-
Priscila,
Obrigado, acabei utilizando a sua sugestao. Sobre o navegador, paciência, só passará no session_end quando terminar o tempo de duração.
Sou só uma little padawan que tem sorte de andar com jedis, mas farei o possível por quem precisar :)
Se precisar: @MayogaX