I am getting a \'session state not available in this context\' error.
The
"If a tree falls in a forest and no one is around to hear it, does it make a sound?"
Don't watch the Session property at the point where it is not available yet.
You are requesting for session state too early in the cycle. you need to do it in Application_AcquireRequestState