我在本地iis cookie中发布代码后,按照代码中的配置有效期为1个月但是将其发布到主机后,cookie只能存活20分钟。我正在使用共享主机。这就是我配置cookie的方式:
services.AddAuthentication()
.AddCookie(cookieSettings.MemberCookieScheme, options =>
{
options.Cookie.Name = cookieSettings.MemberCookieScheme;
options.LoginPath = "/Profile/Login";
options.LogoutPath = "/Profile/Logout";
options.SlidingExpiration = true;
options.ExpireTimeSpan = TimeSpan.FromDays(30);
options.Cookie.Expiration = TimeSpan.FromDays(30);
});
并使用此代码登录用户:
await HttpContext.SignInAsync(_siteSettings.CookieSettings.MemberCookieScheme, principalMember,
new AuthenticationProperties { IsPersistent = true });
这是共享主机的问题。
默认情况下,IIS中的空闲超时为20分钟。
搜索这些:
防止IIS空闲超时终止。
自动调用ASP.NET Core的运行状况检查