Ir para conteúdo

POWERED BY:

Arquivado

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

Diogo T Machado

[Resolvido] Controle de time out na session

Recommended Posts

Boa tarde a todos!

 

Amigos estou com o seguinte problema!

estou trabalhando em um projeto que é um modulo web da parte de pedidos

de um sistema ERP.

 

enfim devido as necessidades dos clientes optei por fazer um carrinho de compras

pois eles tem q fazer varios filtros e esolher varios itens e a lista de pedidos

deles sao imenssas tipo " 1 item: 100 sakinhos 13x10 verde, 2 item 300 sakinhos 13x10 amaralo" e por ai vai!

 

e estou quardando essas informacoes em sessao, "pois o banco de dados deles xegam a ter 20gb" entao quanto menos eu

for la melhor!, pensei em usar Profille, mas preferi assim!, msm pq a estrutura tava mais preparada e facil pra isso!

mas como sao varios itens e as vezes os vendedores tem que parar pra conversar com os clintes etc, negociar, e quando

vai concluir o carrinho "PAN!!!", cai na tela de login sem mais nem menos rs, e eu perco tudo! oq eu fiz! "e o cliente entao nem se fala..."

 

ja fui la no servidor dele, entrei no iis>propridedades do meu site>configuraçoes, dai lah almentei tipo o tempo da sessao pra "60" minutos

mas que nda, 10, 20 minutos perde tudo!, por favor! se alguem souber como resolver isso! me ajude!

se nao!, la vai eu ter q mexer no banco!, ai soh por deus!!!

 

Obrigado desde ja!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo na hora q eu faco o login eu tenho la "session.add" dai eu pego meu usuario, pq verifico ele a cada consulta etc

dai nessa hora eu posso colokar esse "session.timeout" ?

 

olha o meu codigo diga pra mim a melhor forma de se fazer isso!, pq

nao trabalho com os scritps na pagina e sim tenho uma classe com todos eles

e registro kda um deles na pagina te os chamar pelo "ClientScript.RegisterStartupScript"

 

 

olha o codigo da minha tela de login

 

protected void bt_Entrar_Click(object sender, EventArgs e)
	{
		// Validação do Usuário.
		UsuariosOAD Usuario = new UsuariosOAD();
		UsuariosCRN Usu = new UsuariosCRN();
		Usu = Usuario.RetornaUsuario("Usuario", tb_UserName.Text);
		if (Usu.Usuario == tb_UserName.Text && Usu.Senha == tb_Password.Text)
		{
			// Testa usuário INATIVO.
			if (!Usu.Ativo)
			{
				lt_Erro.Text = "Usuário inativo, contate o suporte!";
				return;
			}
			// Testa validade.
			if (Convert.ToDateTime(Usu.DtValidade, Funcoes.Formato()) < DateTime.Today)
			{
				lt_Erro.Text = "Usuário expirado, contate o suporte!";
				return;
			}
			FormsAuthentication.RedirectFromLoginPage(tb_UserName.Text, false);
			// guarda permissões do usuário na sessão.
			Session.Add("Usuario", Usu);
		}
		else
		{
			lt_Erro.Text = "Usuário ou senha inválidos!";
		}
	}

soh fazendo assim resolvo?

 

protected void bt_Entrar_Click(object sender, EventArgs e)
	{
		// Validação do Usuário.
		UsuariosOAD Usuario = new UsuariosOAD();
		UsuariosCRN Usu = new UsuariosCRN();
		Usu = Usuario.RetornaUsuario("Usuario", tb_UserName.Text);
		if (Usu.Usuario == tb_UserName.Text && Usu.Senha == tb_Password.Text)
		{
			// Testa usuário INATIVO.
			if (!Usu.Ativo)
			{
				lt_Erro.Text = "Usuário inativo, contate o suporte!";
				return;
			}
			// Testa validade.
			if (Convert.ToDateTime(Usu.DtValidade, Funcoes.Formato()) < DateTime.Today)
			{
				lt_Erro.Text = "Usuário expirado, contate o suporte!";
				return;
			}
			FormsAuthentication.RedirectFromLoginPage(tb_UserName.Text, false);
			// guarda permissões do usuário na sessão.
			Session.Add("Usuario", Usu);
			Session.Timeout = 60;
		}
		else
		{
			lt_Erro.Text = "Usuário ou senha inválidos!";
		}
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

=/ pts vei nao deu certo!, tipo clico la no botao! ele vai pra tela de login, sozinho, sem executar

codigo algum!, soh por deus viu!, sera q eh alguma coisa no web config que tenho que mexer sei lah!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso você pode armazenar em COOKIE ao invés de SESSION.

 

 

Obs. Esse é um Fórum de ASP e não ASP.NET.

 

 

 

Movido de ASP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Quintelab, estudei praticamente a documentação toda dos cookies e das Session, Profile etc e tal

ia dar muito trabalho mudar isso! pois estava tudo pronto! entao como do jeito documentado la nao funciona

fiz do jeito Brasileiro! rsrsrs, adicionei um controle timer "do ajax" na minha tela e no evento tik colokei o codigo

 

"session.timeout += 20";

 

mas soh por colokar msm, porque a finalidade principal foi ajustar o disparador dele para uns 16 minutos

e a cada 16 minutos ele faz uma chamada ao servidor mantendo assim minha sessao ativa!

 

se servir pra alguem!, fica ai como dica!, vlw

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.