尽管用户一直在表单中输入,但会话超时
Session times out although the user has been typing in the form
在我的 asp.net 网络应用程序中,会话设置为其默认超时值。据我了解,一旦应用程序处于空闲状态且未对其执行任何操作,超时就开始计算分钟数。但是,当我打开表格并开始填写时,如果我填写表格的时间超过 20 分钟,那么当我按 "Save" 时,应用程序会注销。我不是不活跃,但实际上我正在填写表格中的数据,所以我不希望会话超时。
有没有办法让 session 只在没有任何动作的时候开始计算时间,并让它 "sense" 用户输入?
您要找的是 "heartbeat"。有多种方法可以实现此目的 - 最简单的方法取决于您页面中已有的其他资产 - jQuery、AJAX 控件等。
基本前提是它在后台向服务器发送请求,有效地向服务器说 "I am still here" 以阻止超时发生。理想情况下,您的解决方案应该检查 javascript 中的 onkeypress 以确保用户在那里并填写表格。
搜索 "heartbeat form filling javascript asp.net" 会得到一些示例想法。
在我的 asp.net 网络应用程序中,会话设置为其默认超时值。据我了解,一旦应用程序处于空闲状态且未对其执行任何操作,超时就开始计算分钟数。但是,当我打开表格并开始填写时,如果我填写表格的时间超过 20 分钟,那么当我按 "Save" 时,应用程序会注销。我不是不活跃,但实际上我正在填写表格中的数据,所以我不希望会话超时。
有没有办法让 session 只在没有任何动作的时候开始计算时间,并让它 "sense" 用户输入?
您要找的是 "heartbeat"。有多种方法可以实现此目的 - 最简单的方法取决于您页面中已有的其他资产 - jQuery、AJAX 控件等。
基本前提是它在后台向服务器发送请求,有效地向服务器说 "I am still here" 以阻止超时发生。理想情况下,您的解决方案应该检查 javascript 中的 onkeypress 以确保用户在那里并填写表格。
搜索 "heartbeat form filling javascript asp.net" 会得到一些示例想法。