A users session on an ASP.NET site by default will time-out after 20 minutes. This however can be changed through either the web.config file or IIS.
To edit through the web.config file you need to edit the sessionState tag under system.web
<system.web> <sessionState timeout="30"></sessionState> </system.web>
Or through IIS click on your site name and then click Session State under the ASP.NET heading. There will be a field labeled Time-out (in minutes).
The value you enter for time-out must be an integer.
Help it doesn't seem to work!
If your sessions still seem like there timing out after 20 minutes it could be because your site isn't very active.
The application pool for your site also has an idle time-out that is set by default to 20 minutes. When the idle time-out is reached it will cause your application pool to recycle and therefore loose any active sessions (that's assuming you have the session state mode set to In Proc). Therefore it is a good idea to increase this to whatever you have set the session time-out to.
To do this go to your sites application pool in IIS, click advanced settings on the right and then look for the Idle Time-out (minutes) setting and update this to be the same as your session time-out value.