How to use Session Variable in MVC
asp.net-mvc, asp.net-mvc-3, asp.net-mvc-4, c#, session
Solution
The thread that starts the Application is not the request thread used when the user makes a request to the web page.
That means when you set in the `Application_Start`, you're not setting it for any user.
You want to set the session on `Session_Start` event.
Edit:
Add a new event to your global.asax.cs file called `Session_Start` and remove the session related stuff from `Application_Start`
protected void Session_Start(Object sender, EventArgs e)
{
int temp = 4;
HttpContext.Current.Session.Add("_SessionCompany",temp);
}
This should fix your issue.
Problem
I have declared Session variable in "Global.asax" file as, ``` protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); int temp=4; HttpContext.Current.Session.Add("_SessionCompany",temp); } ``` And want to use this Session Variable into My Controller's action as, ``` public ActionResult Index() { var test = this.Session["_SessionCompany"]; return View(); } ``` But I am Getting Exception While accessing the Session Variable. Please help me on this that How can I access the Session Variable into my controller's Action. I am getting an Exception like `"Object Reference not set to an Insatance of an object"` in `Application_Start` in Global.asax on line ``` HttpContext.Current.Session.Add("_SessionCompany",temp); ```