View Full Version : Timeout em ASP.NET


fredx
02-06-2007, 16:01
Estou a desenvolver um projecto em ASP e C# com base de dados em SQL para trabalho final de curso.
Estou a utilizar o seguinte codigo para guardar qual o user que está logado no site:

Context.Session["User"] = username;//username é uma var tipo string que guarda o valor da textbox respectiva ..

Eu gostava de saber como é que consegue verificar por codigo se já fez timeout ou não..

OldMan
02-06-2007, 16:33
nunca usei C#, mas pela logica se fizer timeout e' porque deixou de existir, se deixou de existir=null.

(pseudo.codigo)
if Context.Session["User"] = "" then
fez timeout
else
nao fez timeout
endif

fredx
02-06-2007, 17:01
Sim eu tambem essa noção mas não sei se o problema vem do que pôs no web.config..

<authenticationmode="Forms">
<formsname="log"loginUrl="Login.aspx"timeout="1" />
</authentication>

podem ajudar?

SoundSurfer
02-06-2007, 17:07
Uma coisa é o Forms Authentication Timeout (http://weblogs.asp.net/owscott/archive/2006/07/15/Forms-Authentication-Timeout.aspx)

outra é o Session Timeout definido no web.config
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;
Trusted_Connection=yes" cookieless="true" timeout="20" />

De qualquer das formas... se uma sessão expira, é criada uma nova no próximo pedido.
no Global.asax existem métodos (Session_Start e Session_End acho eu) que correm sempre que uma sessão nova começa ou uma velha acaba.

fredx
02-06-2007, 17:48
obrigado já está a fazer time out...