所以我使用AJAX为客户提供考试模拟器,每个模拟考试大约需要2个小时。我意识到我不太了解会话及其与表单身份验证的关系。
答案 0 :(得分:1)
每次向应用程序发送请求并且当前会话仍然有效时,会话超时将被续订。
表单身份验证可以通过两种方式工作。您可以让用户登录一段固定的时间或使用滑动过期。例如:
<authentication mode="Forms">
<forms defaultUrl="~/Default.aspx"
loginUrl="~/Login.aspx"
slidingExpiration="false"
timeout="120" />
</authentication>
以上将表单身份验证超时设置为120分钟,但也禁用了滑动到期slidingExpiration="false"
。这将在两个小时过期后将用户踢出。
FormsAuthentication.SlidingExpiration Property (MSDN Library)
答案 1 :(得分:0)
虽然它可能取决于管理会话的服务器代码,但一般答案是“是”。 AJAX请求(XmlHttpRequest)将传递浏览器cookie,允许服务器将请求与会话相关联,从而重新设置计时器。
如果您通过URL而不是Cookie管理会话,则需要确保您的AJAX请求符合URL需求,并将session_id与请求一起传递。