1. Enable the ASP.NET Session State Manager Service (under Control Panel > Administrative Tools > Services)
2. Enable it in the web.config file: <pages enableSessionState="true">
3. Add the proper http module to the web.config: <add name="Session" type="System.Web.SessionState.SessionStateModule" />
4. At last but not least: Make sure you're accessing the Session object after it has been initialized. This is very important, since if you try to manipulate it in the page constructor, for example (which was my case), you'll still get the above exception, even after executing steps 1, 2 and 3. You should be able to access it after the page OnLoad event has been fired.