How to access session variables from any class in ASP.NET?


I have created a class file in the App_Code folder in my application. I have a session variable


I want to access this session variables in my class, but when I am writing the following line then it gives error


Can anyone tell me how to access session variables within a class which is created in app_code folder in ASP.NET 2.0 (C#)

3/7/2009 4:45:28 PM

Accepted Answer

(Updated for completeness)
You can access session variables from any page or control using Session["loginId"] and from any class (e.g. from inside a class library), using System.Web.HttpContext.Current.Session["loginId"].

But please read on for my original answer...

I always use a wrapper class around the ASP.NET session to simplify access to session variables:

public class MySession
    // private constructor
    private MySession()
      Property1 = "default value";

    // Gets the current session.
    public static MySession Current
        MySession session =
        if (session == null)
          session = new MySession();
          HttpContext.Current.Session["__MySession__"] = session;
        return session;

    // **** add your session properties here, e.g like this:
    public string Property1 { get; set; }
    public DateTime MyDate { get; set; }
    public int LoginId { get; set; }

This class stores one instance of itself in the ASP.NET session and allows you to access your session properties in a type-safe way from any class, e.g like this:

int loginId = MySession.Current.LoginId;

string property1 = MySession.Current.Property1;
MySession.Current.Property1 = newValue;

DateTime myDate = MySession.Current.MyDate;
MySession.Current.MyDate = DateTime.Now;

This approach has several advantages:

  • it saves you from a lot of type-casting
  • you don't have to use hard-coded session keys throughout your application (e.g. Session["loginId"]
  • you can document your session items by adding XML doc comments on the properties of MySession
  • you can initialize your session variables with default values (e.g. assuring they are not null)
7/23/2012 9:24:07 AM

Access the Session via the threads HttpContext:-


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow