在ASP.NET Core 3.1会话中使用Session.MaxAge属性设置会话的最长存活时间时,可能会出现无法生效的情况。 这可能是因为在Startup.ConfigureServices中没有正确配置Session选项。应确保AddSession()方法的调用与Configure方法位于相同的中间件中,并使用以下代码示例正确配置Session选项:
services.AddSession(options => { options.IdleTimeout = TimeSpan.FromSeconds(3600); options.Cookie.HttpOnly = true; options.Cookie.IsEssential = true; });
此外,还应确保在Startup.Configure中正确地启用Session中间件,例如:
app.UseSession();