In all of the above cases, the session supposed to be timeout. It will handle by the asp.net runtime, which we can set in the web.config
<sessionState timeout="1" />
. Default timeout is 20 mins. Which means after 20 min session will become abandon and if you are not correctly handle it will leads to system crash. What general recommendation is, always check null of the session item that you’re going to refer. But in most user oriented application, we should notify the user that ,"Hello your current session has expired, what do you want to do?" How to achieve this?