在 ASP.NET Core 6.0 中,会话超时的最大值被限制为20分钟。如果您想要将超时时间设置为更长的时间,则需要手动指定此值。
以下是一个代码示例,可以将会话超时时间设置为60分钟:
首先,在 Startup.cs 文件中添加如下代码:
services.AddDistributedMemoryCache();
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(60);
});
然后,在 Controller 或 Razor 页面中使用以下代码来访问和更新会话超时时间:
HttpContext.Session.SetInt32("timeout", 60);
var timeout = HttpContext.Session.GetInt32("timeout");
以上代码将会话超时时间设置为60分钟,并将其存储在名为“timeout”的会话变量中。您可以在需要的时候使用 Get 方法来读取该变量的值。
请注意,如果您的应用程序需要更长的会话超时时间,那么使用分布式缓存(如 Redis)可能是更好的选择,因为分布式缓存可以保持会话状态即使应用程序重新启动。