Another option is that you can basically disable the app pool idle timeout by setting the time to 0. I've seen this recommended by a few different people from Microsoft for sites that don't have heavy usage. This would also cause your web.config session timeout values to be used, rather then having the app pool clear out and end your sessions.
I also believe the reason you were running into idle time-out issues is because no one was accessing your site for 20 minutes, including the user who was sitting idle. If your session timeout is 30 minutes and the user has sat idle for 25 minutes and no one else has accessed the site, the idle timeout on the app pool would have kicked in and caused your session variable to be cleared out. If your site has moderately high traffic this shouldn't become an issue, but if you have a low traffic site or your site has slow times then the idle timeout value could become an issue.
commented on Jan 13 2012 2:21AM