Problems with Session.IsNewSession - please help

R

rsouza

Hi.

Recently here in my work we added the following code in the Global.asax
file to handled the session expired and redirect users to the home of
the site explaining them the occurred (some thing like "Your session
has expired, please restart your navigation.").

public void Session_Start(Object sender, EventArgs e) {

if(Session.IsNewSession && Request.Headers["Cookie"] != null &&
Request.Headers["Cookie"].IndexOf("ASP.NET_SessionId") >= 0)
{
Response.Redirect("/index.aspx?timeout=1");
// when the param "timeout" exists in the url the user
receives the message "... Session expired ..."
}
}

In our tests the code above works fine, but now sometimes we open the
browser, type the url address of the site and the message "... session
expired ..." appears. This occurs just in some machines and not all the
times we access the site.

Someone knows what is happening??

Thanks

Rodrigo
 
P

Peter Bradley

This is completely off the top of my head, so I may be way out.

Firstly, I'm not sure that this is best way of achieving what you seem to be
after. What we do is to check for session timeouts in the page load event
on each page of our applications (using Session.IsNewSession()). If it's a
new session, we set a flag (either in a custom object, or in the Session)
and redirect the user to the login page, which checks for the existence of
the flag.

Looking at your code, you need to check each element in your if statement to
see why all of them are true.

It appears to me that Session.IsNewSession will always be true in the
Session_Start event handler. If the Session wasn't new, it presumably
wouldn't be starting. So your problem, if you must use the Session_Start
event, really is in knowing why the other two conditions are true.

But as I said, this is right off the top of my head.


Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top