c# - 会话未结束时停止页面刷新 ASP.NET MVC C#
问题描述
我编写了代码以在页面空闲 2 分钟时刷新页面(借助 stackoverflow 帮助)。代码工作正常,但我的问题是当用户在页面上工作时,会话结束时应用程序仍会刷新。我需要帮助来重置我的代码中的会话,以在页面不空闲时停止应用程序重置。
网页配置
<system.web>
<sessionState timeout="2" />
</system.web>
_布局页面
<script>
//session end reset page
var sessionTimeoutWarning = @Session.Timeout- 1;
var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
setTimeout('SessionEnd()', sTimeout);
function SessionEnd() {
window.location = "/Home/SessionExpired";
}
</script>
家庭控制器
public ActionResult SessionExpired()
{
Session["conectionstring"] = null;
Session["patientid"] = null;
Session.Clear();
Session.Abandon();
return RedirectToAction("Index", "Home");
}
解决方案
你可以在 web.config 文件中尝试slidingExpression=true
<authentication mode="Forms">
<forms loginUrl="login.aspx"
name="loginPage"
cookieless="UseCookies"
slidingExpiration="true" />
</authentication>
推荐阅读
- sql - 查询返回 N 个随机连接的记录
- server - Graphql 瑜伽服务器未在 Windows 10 上运行
- node.js - 如何在 Node.Js 环境中进行 Paypal 支付
- git - 配置在 WSL 中使用的 Git Bash
- django - 使用 Snowpack 转换 Web 组件并打包依赖项
- javascript - VueJS 有时拖动一个元素会导致它粘在鼠标指针上
- laravel - Breeze auth 中间件重定向回登录页面本身
- mongodb - 带有反应性 MongoDB 的 Spring Boot 抛出打开套接字异常
- reactjs - 如何在 index.html 中添加脚本以响应应用程序
- android - WorkManager - 定期运行作业的问题