If you are wanting session vars to last for very long amount of time, like in a case where someone is filling a large finicial form that may stay on their computer for a day, then you can use a combination of viewstate and session.
Sub Page_Load()
If Session("AccountID") = nothing then
Session("AccountID") = Viewstate("AccountID")
else
Viewstate("AccountID") = Session("AccountID")
end if
end sub
Only use this when the only expection action is a post back so the expired session variable will refresh itself with the viewstate.