Troubleshooting Session Related Issues in ASP.NET
page 3 of 7
by Rahul Soni
Feedback
Average Rating: 
Views (Total / Last 10 Days): 61891/ 69

Scenarios

Any Anti-Virus software

Excluding your Framework and Application folder from Anti-Virus options if the best approach in my opinion.

Any back up software or Indexing service running on your box. It is because they cause FCN (File Change Notification) for the Web Application folder. You can either disable your backup software and Indexing Service completely or exclude the Web Application folder (if your software provides you that option).

Group Policies

Deleting ASP.NET 2.0 Application Sub Directories.

From my personal experience I have seen that even if you are uploading multiple files from the client’s end to your server, you may end up losing your session. An easy resolution is to store the uploaded content outside of your Application folder.

Session loss after migrating to ASP.NET 2.0

Lost session variables and AppDomain recycles

If you see that the App Domain recycle is still happening for some mysterious reason and you have followed the steps 1-6 above, it is time to change to Out of Process session mode like ASP.NET State server. You can move to SQL state management as well, but for the troubleshooting sake, ASP.NET State Server suits just fine. See if that helps. To know more about out of process session mode, check this.

If you are using ASP.NET 2.0, you have a better way to check for the Application domain recycle and the pain of creating a Perfmon log could be avoided pretty easily. Check out Health Monitoring for Application's lifetime related events.

A crash?

Check your Event Viewer and see if you are getting an Error in your Application Log with an Event ID 1000. For more information on Crash and how to fix it please check my blog entry http://blogs.msdn.com/rahulso/archive/2006/03/02/541737.aspx. You may also refer to Tess’s blog to find out more about how to troubleshoot crash related issues.

A simple recycle of the worker process because of the Application Pool related settings (if you are using 2003 Server)?

Ensure that you have disabled all the recycling options for your worker process. By default, your application pool (in IIS 6) is configured to recycle every 29 hours or 20 minutes of inactivity. Who knew your session recycle for all the users is related to these settings? To know more about IIS 6 application pool’s health related configuration, please check the following article


View Entire Article

User Comments

Title: Need some urgent help   
Name: Paks
Date: 2012-04-25 8:22:34 AM
Comment:
Hi,

Your article is wonderful. Very useful. But with my issue I still don't have resolution. It would be good if you can through some light on it.

We use:
ASP.NET 6.0, State Server to store sessions and IIS 6.0.
A single server as - web as well as state server. No farm nothing.

Issue is we physically moved the severs to a new data center. Suddenly we have started observing session data getting lost. Behaviour is random and not getting replicated on any of the dev servers. Also many a times only part of the session data is lost and not all the values. It's strange. I do not want to enable application level trace on production as well performance monitor tool does not seem to be helping in my case.
Can you help out with the issue. Suggest some external tool which monitors the issue or is it possible to write small .NET app to trace the existing web app.
Your suggestions are valuable.

Thank you.
HV
Title: need help   
Name: sivarj
Date: 2010-06-10 2:11:04 AM
Comment:
I am uisng farpoint grid,while pageloading farpoint grid overlapping first row with header how to over come this problem
Title: Thanks Bro   
Name: Vishal Jani
Date: 2010-01-04 8:05:17 AM
Comment:
Hi,

After long googleing I find your article and thanks for
your observation. It saves my project.
Just only after creating upload directory outside the application direcotry my session loss problem has been solve.

Thanks again.

Regards,
Vishal Jani
Title: Thank you   
Name: Payal
Date: 2008-12-02 2:46:45 AM
Comment:
thanks a lot..its exactly what i am looking for..
Title: Session Conflict (For Payal)   
Name: Rahul Soni
Date: 2008-12-02 1:47:35 AM
Comment:
Hi Payal,

If you are seeing shared sessions, the first thing that you should check is Caching. See if you have Caching enabled and proceed form there.

http://blogs.msdn.com/jorman/archive/2005/11/22/495753.aspx

HTH,
Rahul
Title: Session conflict   
Name: payal
Date: 2008-12-02 12:39:36 AM
Comment:
Hi Rahul,

This is article gives me a lot of insight for using session or resolving session related issue. But i am facing some major problem with session state in asp.net 1.1 application.

Session variables are conflicting with each other that means if there are two/three simultanous user using the web application at same time, some times they can view the details of other users and vice-versa. When i debug the application i hv not found any issues. I am just storing employee ID which is numeric. Can you please help me to resolve this issue?

thanks
Payal
Title: Web Farm - Complex object storing issues   
Name: Rahul Soni
Date: 2008-10-21 6:37:02 AM
Comment:
Hi Senthil,

Server.Transfer is executed at the server side, which means that the code would execute on the server which is catering to the request. Response.Redirect might end up on a new server, but Server.Transfer wouldn't.

Regarding the 2nd query, you need to ensure that the objects are serializable, else you would see an error message while trying to store that objects in the session.

But honestly, try NOT to store very large objects, specially you should always ensure that whatever you are storing in session is short and sweet. Large session objects (> 85K) would end up in LOH and hence complicate your App's memory requirements.

HTH,
Rahul
Title: Web Farm - Complex object storing issues   
Name: Senthil Valavan & Meyyapan
Date: 2008-10-21 5:48:59 AM
Comment:
Hey Rahul,
Ur Comments were nice ,

Please help up in this following scenerio for WEB FRAM


1) When using Server.Transfer in our application , will it make any issues on WEB Farm

2) While Storing Complex Objects (Like hashTable & Class objects ) into Session (SessionState=SqlServer). Could you brefiely explain any specific steps need to be taken.
Title: Is it complete...   
Name: Deep
Date: 2008-09-11 6:31:49 AM
Comment:
Rahul,

Article looks great, our problem is here:

"Notice… it is not a problem which “All the users face at the same time.” It is something which is happening to ALL the users, BUT NOT AT THE SAME TIME."

But it seems the article is not giving tips for this scenario or I missed sth.

Your advice will be helpful.

Regards,
Deep
Title: Web garden...doh!   
Name: Aaron
Date: 2008-05-15 12:22:25 PM
Comment:
I got caught by setting the application pools to use two processes (web garden area) and not setting out of process sessions. Thanks for this article it just saved me a lot of trouble.
Title: For Mihir   
Name: R S
Date: 2007-08-22 12:20:46 PM
Comment:
Hi Mihir,

In fact, ASP.NET and ASP.NET Applications are not generic, and they are supposed to show the Perfmon as per your observation. That is, it will show the counters for the latest version of .NET Framework installed on your box.

If you have 1.1 and 2.0 both, it won't show any 1.1 counters. If you need to see 1.1 counters, you will need to add them explicitly.

Hope that helps,
Rahul
Title: Asp.Net and Asp.Net Applications are generic ?   
Name: Mihir
Date: 2007-08-22 11:26:21 AM
Comment:
Hey Rahul,
Nice two see this article.
I have some concern here..any internal article will help.
I'm using PERFMON utility to measure performance of an asp.net application with Asp.Net and Asp.Net Applications performance objects (attribute group) of PERFMON Utility. I've deployed 2 same Asp.Net application on my machine, the only difference is one is developed using Asp.Net 1.1 and the other is developed using Asp.Net 2.0. Through observation I've noticed one thing that's Asp.Net and Asp.Net Application attribute group reflects the values same as Asp.Net 2.0. and Asp.Net Apps 2.0 attribute group and not refecting the values those are of Asp.Net 1.1.4322 and Asp.Net Apps 1.1.4322 attribute groups.

My understanding for this is Asp.Net and Asp.Net Applications are generic attribute group(Performance Objects) and they should refelect values of both attribute groups (Asp.Net 1.1.4322 and Asp.Net 2.0 as well Asp.net Apps 1.1.4322 and Asp.Net Apps 2.0). I've all 3 versions of .Net installed on my machine but I'm not getting any attribute group specific to Asp.Net 3.0 like previous two.

Can anyone make me clear on which attribute group to use for measuring performance of various Asp.Net Application i.e. Generic one or Version Specific? Because the Perfmon utility shows both generic i.e ASP.NET
and version specific performance objects like (ASP.NET v1.1.4322)

I am stuck please help.
Title: Thank you   
Name: Narayanan
Date: 2007-07-04 1:47:44 AM
Comment:
Excellent article
Title: A little more information!   
Name: Rahul Soni
Date: 2007-03-30 11:47:06 AM
Comment:
I guess, I missed this very important KB article
http://support.microsoft.com/?id=184574. It talks about certain cases where you will have multiple ASPSessionID cookies. As you know a lot of cookies might hurt the performance, and it could also lead to Session Loss.

Just thought I should addding this information here!

Cheers,
Rahul Soni
Title: Simple and Useful   
Name: Ravi Garg
Date: 2007-03-29 12:51:56 AM
Comment:
Well thats great!
An article when solving a security issue must be as simple as it could be.
Title: Great Article   
Name: Parag Agarwal (paraga)
Date: 2007-03-17 2:01:20 PM
Comment:
I came across this article .. good work keep going..
Title: Troubleshooting Session Related Issues in ASP.NET   
Name: Saurabh
Date: 2007-03-07 2:46:01 PM
Comment:
Excellent stuff....This is really helpful for people who are struggling with issues related to Session loss in As/Asp.net Web applications.

-Saurabh

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-04-20 6:23:04 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search