IMHO, you need this class and the current approach is to create it in each page. which means you are acquiring some memory and taking some time to create the object. If you keep the object in session then you will still be using than much of memory but the only advantage will be the overhead required in creating the object every-time will be gone. 1. But, in your current approach your object was being created on demand and if you keep this object in session that will like in user memory for all the time so I don't thing this is a good idea to save this in sessions. 2. Even with the overhead for creating object each time gone, you will still need the typecasting of session variables in each page which will effectively nullify the benefit we got. 3. putting this object will put some overload on session, which could mean that the session may be lost earlier than it should have(if number of request are more) and we will loose more valuable session info because we have this object residing in session memory. My recommendation would be to keep it as you have implemented. Session should only be used for the crucial information. If you need to access this info frequently then perhaps you can think about storing it in Cache instead of Session. and if it can be reused across users keep it in Application variable.
Every now and then say, "What the Elephant." "What the Elephant" gives you freedom. Freedom brings opportunity. Opportunity makes your future.