I don't want to get off on a rant here, but....

Avatar

Technology, Programming, Complaints, etc.

You can have the Session but you have to know the secret knock

Was very perplexed by this issue, context was fine, but context.Session was null, until finding this StackOverflow post.
One better though if you don't need to write context.Session is to implement: System.Web.SessionState.IReadOnlySessionState instead, which is probably somehow cheaper.