In this article I will explain with an example, how to use Session in ASP.Net Core MVC.
Note: For enabling and configuring Session in ASP.Net Core, please refer my article Enable Session in ASP.Net Core.
You will need to import the following namespace.
using Microsoft.AspNetCore.Http;
The Controller consists of the following Action method.
Action method for handling GET operation
Inside this Action method, the Session object is created and a string value is set in the Session object using the SetString method of the HttpContext.Session property and finally, the View is returned.
public class HomeController : Controller
    public IActionResult Index()
        //Set value in Session object.
        HttpContext.Session.SetString("Message""Hello MVC!");
        return View();
Inside the View, the IHttpContextAccessor Interface object is injected in order to access the Session and its functions.
Note: For configuring IHttpContextAccessor in ASP.Net Core, please refer my article Using HttpContext in ASP.Net Core.
The value from the Session object is displayed in View using the GetString method of the HttpContext.Session property.
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor Accessor
    Layout = null;
<!DOCTYPE html>
    <meta name="viewport" content="width=device-width" />
ASP.Net Core: Session Tutorial with example