在 ASP.NET Core 7 中,Session服务默认已禁用,需要手动启用并设置相关选项。
在Startup类的ConfigureServices方法中,添加以下代码:
services.AddSession(options =>
{
// 设置Session过期时间
options.IdleTimeout = TimeSpan.FromMinutes(30);
// 设置Session Cookie的Name
options.Cookie.Name = ".MyApp.Session";
// 设置同步Session ID到Response Cookie
options.Cookie.IsEssential = true;
});
然后,在Configure方法中使用以下代码启用Session服务:
app.UseSession();
之后,即可在控制器或视图中使用Session数据了:
public IActionResult MyAction()
{
HttpContext.Session.SetString("MyData", "Hello, World!");
// ...
var data = HttpContext.Session.GetString("MyData");
// data == "Hello, World!"
// ...
}