How to access Session in .ashx file?

In the ashx.cs file, also "implement" the interface System.Web.SessionState.IReadOnlySessionState or System.Web.SessionState.IRequiresSessionState.

You don't have to implement any method, just the presence of this makes the Session available (in readonly or read/write mode), through context.Session.

The header would look like:

public class MyHandler: IHttpHandler, System.Web.SessionState.IReadOnlySessionState

In aspx file:

Session.Add("filename", "Test.txt");


After you have set session value in aspx file. Use following to get the value in ashx file.

In ashx file:

public class ImageHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
      string Name = "";
      if (context.Session["filename"] != null)
         Name = context.Session["filename"].ToString();
    }
}

Tags:

C#