ASP.NET Core session 超时

标签 asp.net asp.net-core session asp.net-identity session-cookies

我记得我们在 ASP.NET 中使用 session.timeout 来更改 session 超时,如果不更改,则为 20 分钟。

我试图在 Startup.cs 的 ASP.NET Core 3.1 中更改 session 超时,但没有任何 react 。我为运算符(operator)使用身份并将空闲超时设置为 5 小时“我认为”,但运算符(operator)在 1-2 分钟后退出,并且应该重新登录数百次以完成一篇文章。

services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromHours(5);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
});

我错过了什么?

最佳答案

要在 ASP.NET Core 中使用 session 状态,您需要将 session 中间件添加到管道中。

重要:中间件的顺序是关键。在 UseRouting 和 UseEndpoints 之间调用 UseSession。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseSession();
}

更多信息 :
MSDN

关于ASP.NET Core session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61145385/

相关文章:

c# - 加载记录集,一次加载 4 个项目

c# - 什么时候应该在 Asp.Net Core 中使用 Task.Run?

Visual Studio Team Services for ASP.net Core 应用程序的 Azure 应用服务部署失败

session - 电梯 session 到期

javascript - 使用ajax将Jquery变量传递给php session 变量时出错

asp.net - Windows Azure 问题 - 第一个请求失败但第二个请求成功?

asp.net - 在 ASP.NET 中跟踪动态创建的 DOM 元素的方法

session - ColdFusion session 与 J2EE session

asp.net - WindowsIdentity.RunImpersonated 导致 ASP.NET Core 3.1 上的 System.Net.Http.HttpRequestException

c# - 如何使用 ForNpgsqlUseXminAsConcurrencyToken 创建的 EF Core 并发 token