http://techleppie.wordpress.com/2006/10/01/session-state-and-generic-handlers/
The solution to my problem : IRequiresSessionState. I had never come across this interface before but it was the magic key!
According to MSDN :- Specifies that the target HTTP handler requires read and write access to session-state values. This is a marker interface and has no methods.
However, if you only require readonly access then alternatively it is better to make use of IReadOnlySessionState. This will have a performance improvement and provide more scalability.
you can implement multiple interfaces using a ‘,’ see below:
public class process : IHttpHandler, System.Web.SessionState.IReadOnlySessionState {
