在关闭浏览器或显式logout时明确设置ASP.NET会话到期需要使用SessionStateMode和SessionStateTimeSpan属性配置会话状态模式和服务器端生存时间。可以通过以下步骤来实现:
1.在web.config文件中启用会话状态
<system.web>
<compilation debug="true" targetFramework="4.6.1"/>
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424;ssl=off;cookieless=False;sqlConnectionString=data source=localhost;User ID=sa;Password=password;MultipleActiveResultSets=True;AppDomainAppId=555;applicationPool=DefaultAppPool"/>
</system.web>
2.在控制器或使用MVC Razor语法中设置会话超时间
HttpContext.Session"YourKey" = "YourValue";
// 设置会话状态生存时间
Session.Timeout = 120; // 120秒后自动超时,0为始终有效
3.使用JavaScript或jQuery操作Session
setTimeout(function () {
if (sessionStorage && sessionStorage.getItem("YourKey")) {
// 设置会话状态生存时间
sessionStorage.setItem("YourKey", "YourValue");
} else {
// 会话已过期,需要重新登录
window.location.href = "/Account/Logout";
}
},120000); // 设置2分钟会话过期
这样就可以实现ASP.NET会话过期,在关闭浏览器或显式logout时会话超时了。
如果你有其他问题,欢迎联系我。
领取专属 10元无门槛券
手把手带您无忧上云