Session Management in ASP.NET Core allows developers to store and retrieve user-specific data across multiple requests. It is useful for maintaining user state, such as login information, shopping cart items, or preferences.
Key Features:
- Stores data temporarily for a user session
- Supports in-memory, distributed, and custom session stores
- Easy integration with controllers and Razor Pages
- Works with cookies to track sessions
- Improves user experience and state management
Example:
Configure session in Program.cs:
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
var app = builder.Build();
app.UseSession();
Using session in a controller:
public IActionResult SetSession()
{
HttpContext.Session.SetString("Username", "Sagar");
return Content("Session set!");
}
public IActionResult GetSession()
{
var username = HttpContext.Session.GetString("Username");
return Content($"Username from session: {username}");
}
Session Management in ASP.NET Core enables tracking of user data across requests, improving interactivity and personalization in web apps.
Citations: