Link to home
Start Free TrialLog in
Avatar of midavis
midavis

asked on

ASP.NET InProc Sessions expiring too early.

I am having some issues with web sessions expiring too early.  I am using an InProc Session State Management.

Currently I have the asp.net 2.0 application running on Windows Server 2003.

I created a new applicationp pool for this application and set the "Shutdown worker processes after being idle for..." to 120 minutes.

I have set the Session Timeout in the web.config file to 120 minutes.

I even set the Session Timeout in the Configuration -> Options section to 120 minutes.

For some reason the sessions expire after 30, 20 and sometimes even 10 minutes.  Can someone give me a solution as to why this is happening?
Avatar of Bob Learned
Bob Learned
Flag of United States of America image

Is your application recycling?  Are you trapping the Session.End event in global.asax?

Bob
Avatar of midavis
midavis

ASKER

Yesterday I put in some logging for when the application ends but no emails for it yet.  I would really like to be able to log each session start by session id in a log file and when the session ends by session id in a log file to see how long the sessions are lasting.
You can log those from the global.asax file in the Session_Start and Session_End handlers.

Bob
Avatar of midavis

ASKER

How so?  The sender object does not have what I need and the EventArgs give me nothing.  I would like to be able to log the session id when it starts, ends and the length of time it is going.

However, how is this going to fix my problem?
That won't help you necessarily, so that is why I was asking if your application is recycling, since that will give you a new session.  Application recycles are written in the log.

Bob
Avatar of midavis

ASKER

I don't see anything in the event log stating this.
I found what I was really looking for:

PRB: Session variables are lost intermittently in ASP.NET applications
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316148

HTH
Bob
Avatar of midavis

ASKER

I will see if the server has antivirus software somehow.  I know we didn't install anything yet and I am not sure if the hosting company has anything running.
Avatar of midavis

ASKER

Also, if this was the case wouldnt the event log show the server restart?  I am not seeing this.
Here is another reference:

Use Performance monitor -> ASP.NET -> Application restart counter on daily base.
http://weblogs.asp.net/ngur/archive/2003/11/24/39536.aspx

Bob
Since you are using IIS 6.0:

Logging Worker Process Recycling Events in IIS 6.0 (IIS 6.0)

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/87892589-4eda-4003-b4ac-3879eac4bf48.mspx?mfr=true

Bob
Avatar of midavis

ASKER

I don't see an easy way to install these counters though.
ASKER CERTIFIED SOLUTION
Avatar of Bob Learned
Bob Learned
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial