32

I am trying to access the Session variable in Asp.Net ashx handler as shown below.

public void ProcessRequest (HttpContext context) {
        context.Session["VariableName"] = Id;
    }

But the context.Session is always Null inside the above method. How do I access Session objects in ashx file?

Amitabh
  • 55,289
  • 40
  • 108
  • 155

2 Answers2

96

You have to "implement" either IRequiresSessionState or IReadOnlySessionState, with former providing full access to session, and the latter providing read-only access.

I'm quoting "implement" here because these two are so-called "marker interfaces", which means they have no members.

Anton Gogolev
  • 110,157
  • 37
  • 194
  • 282
2

In VB, implement the interfaces mentioned by Anton (IRequiresSessionState or IReadOnlySessionState) like this:

Public Class MyAshxFile

    Implements System.Web.IHttpHandler
    Implements System.Web.SessionState.IRequiresSessionState ''need this for session variables
    Implements System.Web.SessionState.IReadOnlySessionState ''need this for session variables
Taylor Brown
  • 1,590
  • 2
  • 16
  • 31