首先,你需要在Program 文件中的Main 方法中添加Session 服务:
csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromSeconds(10); // 设置Session 过期时间
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
var app = builder.Build();
app.UseHttpsRedirection();
app.UseAuthorization();
app.UseSession(); // 使用Session 中间件
app.MapControllers();
app.Run();
接下来,你可以在Controller 中使用HttpContext.Session 来设置和获取Session:
csharp
public class HomeController : Controller
{
public IActionResult Index()
{
// 设置Session
HttpContext.Session.SetString("Name","Test");
return View();
}
public IActionResult Privacy()
{
// 获取Session
var name = HttpContext.Session.GetString("Name");
ViewData["Name"] = name;
return View();
}
}
在上述代码中,我们首先在ConfigureServices 方法中添加了Session 服务,并设置了Session 的过期时间和Cookie 的属性。
然后在Configure 方法中使用了Session 中间件。最后在HomeController 中设置和获取了Session。