What is Session State? Show with an example to manage session state in ASP.NET Core.
Session State
- Session state is an ASP.NET Core mechanism to store user data while the user browses the application.
- It uses a store maintained by the application to persist data across requests from a client. We should store critical application data in the user’s database and we should cache it in a session only as a performance optimization if required.
- ASP.NET Core maintains the session state by providing a cookie to the client that contains a session ID. The browser sends this cookie to the application with each request. The application uses the session ID to fetch the session data.
A Session State Example
- We need to configure the session state before using it in our application. This can be done in the ConfigureServices() method in the Startup. cs class:
services.AddSession();
- The order of configuration is important and we should invoke the UseSession() before invoking UseMVC().
- Let’s create a controller with endpoints to set and read a value from the session:
public class WelcomeController: Controller
{
public IActionResult Index() {
HttpContext.Session.SetString("Name", "John");
HttpContext.Session.SetInt32("Age", 32);
return View();
}
public IActionResult Get()
{
User u = new User()
{
Name= HttpContext.Session.GetString("Name"),
Age= HttpContext.Session.GetInt32("Age").Value
};
return View(u);
}
}
- The Index() method sets the values into session and Get() the method reads the values from the session and passes them into the view.
- Let’s auto-generate a view to display the model values by right-clicking on the Get() method and using the “Add View” option.
- Now let’s run the application and navigate to /welcome.
- This will set the session values.
- Now let’s navigate to /welcome/get:
Comments
Post a Comment