0

我发现了这个:“我用 session.abandon 创建了一个页面,并让提交按钮调用它并重定向回当前页面。工作。” 在此 URL 上: 会话清除和页面刷新

使用经典的 ASP,我有一个 .asp 页面/表单,用于使用电子邮件地址进行备用登录并回答“秘密问题”。如果有人输入电子邮件地址并单击“提交”,我会从数据库中检索“秘密问题”。我将地址和问题都存储在会话变量中。

在第 2 步中,系统会提示该人输入问题的“答案”并再次提交。所有这一切都很好。登录成功……生活真美好!

如果出于某种原因,该人决定停止而不输入答案(实际上是放弃登录),则会话变量仍然存在。

我一直在努力寻找一种方法(在我有限的编码能力范围内)来清除这些特定的会话变量。我知道清除单个(或所有)会话变量的语法。我只是无法弄清楚如何“触发”(即“执行”)Session.RemoveAll。顶部的引用和 URL 表明有人知道如何做到这一点......但他没有说他是如何做到的,以便我可以复制该过程。

谁能牵着我的手来做这个?谢谢。

4

1 回答 1

0

会话变量将在服务器设置为考虑放弃会话的任何时间(通常为 10 - 20 分钟)清除自己。你有两个选择:

  • 您可以缩短服务器上的会话超时时间,但如果您的站点具有长时间不活动的自然位置,则会导致问题。
  • 您可以使用Session.Timeout来调整该一页的超时时间。

如果他们真的放弃了会话——他们没有执行任何操作——那么就没有什么可以附加触发器了。您问题顶部的位在Session.Abandon提交时运行 - 与您描述的情况不同。

于 2013-07-02T20:41:07.753 回答