Where I should declare a session variable in asp.net Where I should declare a session variable in asp.net asp.net asp.net

Where I should declare a session variable in asp.net


Do it in the Session_Start method in your Global.asax like so...

protected void Session_Start(object sender, EventArgs e){    Session["AttemptCount"]=new Hashtable();}

Update:

Then simply just do a check to see if the session variable exists, if it doesn't only then create the variable. You could stick it in a property to make things cleaner like so...

public Hashtable AttemptCount{    get     {        if (Session["AttemptCount"] == null)            Session["AttemptCount"]=new Hashtable();        return Session["AttemptCount"];    }}

And then you could just call on the property AttemptCount wherever you need like so...

public void doEvent(object sender, EventArgs e){    AttemptCount.Add("Key1", "Value1");}


You could make a property like this in your page:

protected Hashtable AttemptCount{  get  {    if (Session["AttemptCount"] == null)      Session["AttemptCount"] = new Hashtable();    return Session["AttemptCount"] as Hashtable;   }}

then you can use it without having to worry:

protected void Page_Load(object sender, EventArgs e){  this.AttemptCount.Add("key", "value");}


test if it exists first

 protected void Page_Load(object sender, EventArgs e){    if (!Page.IsPostBack)    {       if(Session["AttemptCount"] == null)       {          Session["AttemptCount"]=new Hashtable(); //Because of this line.       }    }   }

though the session_start is better, you only need to uses it on one page but you can create it for each session.