No, The data lives in the web servers session context, your just writing code that talks to the web server if the data exist. So you also need to make sure that the data exist before you ask for the data, or else the code will bomb with an object not found. Once the session expires, usually 20 minutes, that's it, the handle to the web servers session context is deleted, and your data is cleared. You can't store session data forever, it's has a short ( finite ) lifespan. If you want to store temporary data, then you write to the database on the server side, or write a cookie on the client side. And ask the browser for the cookie if it exist thus - Request.Cookie 3rd edit: Don't worry about the code, or whether it is public or private. Technically, the object should already be global, in which you can access the data on another web page using the same code. If your using the code to remember who the user is, on many pages after they sign in, then your alright. Just make sure to check the identity when needed.