gpt4 book ai didi

Session.Timeout 在 ASP Classic/IIS 中无法正常工作

转载 作者:行者123 更新时间:2023-12-02 16:13:25 25 4
gpt4 key购买 nike

最近我创建了一个asp经典网页,用户可以在其中插入他的工作时间。

其中一个请求是页面应每 10 分钟显示一条登录信息。用户在机器上进行生产,并且旁边有计算机,因此用户可能会在小时网页上处于非事件状态 5 - 60 分钟(甚至更长时间),但他仍然会留在该页面上。

为了每 10 分钟弹出一次消息,我使用了在 JQuery 中创建的计时器,这一切都工作正常。由于总非事件时间不确定,因此该人希望 session 超时较大(24 小时),以便 session 状态(谁已登录)保持很长时间。当用户使用插入时间网页时,他被要求在不同的网页上选择他的用户名,然后设置 session (“用户”)。

为了实现长时间 session 超时,我使用以下代码在根目录中创建了一个 global.asa 文件:

<script language="VBScript" runat="Server">
<!-- METADATA
TYPE="typelib"
UUID="00000200-0000-0010-8000-00AA006D2EA4"
-->

Sub Session_OnStart

' Session timeout in minutes (24 hours)
Session.Timeout = 1420

End Sub

</SCRIPT>

尽管由于某种原因(我对其进行了计时),超时仍然是默认的 20 分钟。然后我尝试在以下位置设置 Session.Timeout = 1420:

a.插入时间的网页

b.在选择用户并设置 session 的页面中。

但这并没有产生任何效果。于是我开始研究它,并在stackoverflow上发现了类似的问题:Session Timeout in Classic ASP website

因此,这让我查看了服务器上的 IIS 设置,我在其中更改了一些内容。

在网站的应用程序池中,我将常规时间间隔更改为0:

enter image description here

接下来,我还在服务选项卡上的 session 属性中将超时更改为24小时我的网站(在 Sites 下):

enter image description here

然而这一切并没有任何效果。它仍然会在 20 分钟后结束 session (至少它会重置我的 session (“用户”)状态。

在插入网页时,将按如下方式检查 session :

if session("user")="" then 
response.redirect("ShowPage.asp?page=SelectUserTimeout")

response.end
end if

因此,当 session 为空时,它将重定向到选择用户页面,其中将再次设置 session (“用户”)。虽然按照我的超时设置,如果它确实有效,那么这只应该在 24 小时后发生,而不是在 20 分钟后发生。

你知道这里出了什么问题吗?顺便说一句,我正在使用 IIS 8.0

更新

我发现问题了!我网站的应用程序池中的空闲超时(分钟)似乎仍然是默认的20分钟,并且由于某种原因我的session.timeout asp 代码中的 没有覆盖它。

因此,对于遇到同样问题的任何人,我建议您转到 IIS 中的应用程序池 --> 然后转到网站的应用程序池 -->转到高级设置 --> 流程模型 --> 并更改空闲超时

最佳答案

我自己发现了问题!我网站的应用程序池中的空闲超时(分钟)似乎仍然是默认的20分钟,并且由于某种原因我的session.timeout 在 asp 代码中没有覆盖它。

因此,对于遇到同样问题的任何人,我建议您转到 IIS 中的应用程序池 --> 然后转到网站的应用程序池 --> 转到高级设置 --> 进程模型 --> 并更改空闲超时

关于Session.Timeout 在 ASP Classic/IIS 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31994918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com