Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vagner Bucioli Scala

[Resolvido] Resetado a Session.ID

Recommended Posts

Pessoal..boa noite! alguém sabe como eu consigo resetar uma Session.ID?? Não posso usar o Session.Abandon pq o usuário está logado entre outras sessões ativas, preciso remover só uma sessão específica

 

Já tentei desta forma:

 

Session("NProcesso") = session.SessionID

Session.Contents.Remove("NProcesso")

Já tentei também

 

Session("NProcesso")= ""

 

Sem Chance tb!

 

* Me parece até que ele consegue remover a sessão, pq Se coloco um Response.Write abaixo do Remove não aparece nada, sinal que ele está apagando, mas se coloco acima do Remove ela aparece, mas sempre igual mesmo atualizando a tela! Me parece que nesse caso ele remove mas cria novamente a mesminha sessão! o certo seria resetar a Sessão para gerar outro numero! É possível ?

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal esquece já resolvi obrigado! quer dizer..resolvi achar outra forma até mais prática de gerar numeros aleatórios e de acordo com a quantidade de caracteres desejada!! usando o Randon, segue o código pra quem precisar!

 

<%

Function aleatorio(quantidade)

Dim numero(9)

numero(0) = "3"

numero(1) = "9"

numero(2) = "1"

numero(3) = "7"

numero(4) = "0"

numero(5) = "6"

numero(6) = "4"

numero(7) = "8"

numero(8) = "2"

numero(9) = "5"

Randomize

do while len(senha) < quantidade

num = numero(Int(9 * Rnd ))

senha = senha + num

loop

aleatorio = Trim(senha)

end function

Response.Write aleatorio(6)

%>

FONTE:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona pq você está removendo a Session("NProcesso") e não a Session.SessionID.

 

A session.SessionID você só remove usando Abandon. Ela que identifica o usuário no servidor, pq isso você não controla ela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse aleatório você tem que tomar cuidado para não gerar números repetidos, pois dependendo para que for usar, pode se complicar identificando dois usuários como a mesma pessoa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É...tem razão! mas neste caso estou usando 6 dígitos, posso até usar 7 pra garantir.. acho que as chances de se replicarem são mínimas!! ou não? Meu...dei uns 2.000 REFRESH na tela e os numeros não se repetiram (nossa que exagero!! rsrsr), brincadeira..mas nos testes que eu fiz pareceu bastante seguro.

 

O que posso fazer é gerar uma verificação se o nº do processo já existe e caso exista eu simulo um erro pedindo para o cliente executar novamente a operação ("Ocorreu uma instabilidade no Servidor, Por favor execute novamente a Operação") , só não posso dizer pra ele que o nº do processo já existe pq senão fica feio...uma vez que não vai ser por culpa dele!

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece exagero, mas a chance de repetir existe.

 

Pode ser que não ocorra com 2000, mas ocorra no 2001, ou até mesmo no 50000. E pode ser também que nem ocorra a repetição... Mas a possibilidade vai existir até ser corrigida.

 

 

Editado:

Uma saída seria você gravar no banco de dados todos os números já gerado e ao gerar um novo número sempre verificar se o número existe no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.