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

Popular posts from this blog

What is the cloud cube model? Explain in context to the Jericho cloud cube model along with its various dimensions.

Explain cloud computing reference model .

Discuss classification or taxonomy of virtualization at different levels.