在ASP.NET Core 3.1中设置会话的过期时间可以使用以下代码示例:
public void ConfigureServices(IServiceCollection services)
{
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30); // 设置会话的闲置超时时间
options.Cookie.HttpOnly = true; // 设置会话Cookie为HttpOnly
options.Cookie.IsEssential = true; // 设置会话Cookie为必需的
});
services.AddMvc(); // 其他服务配置
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他中间件配置
app.UseSession(); // 使用会话中间件,确保在其他中间件之前调用
app.UseMvc(); // 其他中间件配置
}
public class HomeController : Controller
{
public IActionResult Index()
{
HttpContext.Session.SetString("MySessionKey", "MySessionValue"); // 设置会话值
var value = HttpContext.Session.GetString("MySessionKey"); // 获取会话值
return View();
}
}
注意:在ASP.NET Core中,默认情况下会话是存储在内存中的,并且在应用程序重启后会丢失。如果需要更持久的会话存储,可以考虑使用分布式缓存或数据库来存储会话数据。
上一篇:asp.net core 3.1 HttpClient,Json序列化两次。
下一篇:ASP.NET Core 3.1 Identity + React + Google Authentication - 获取失败(因为重定向?)