Session 会话超时在ASP Classic/IIS中无法正常工作

Session 会话超时在ASP Classic/IIS中无法正常工作,session,iis,asp-classic,session-timeout,Session,Iis,Asp Classic,Session Timeout,最近,我创建了一个asp经典网页,用户可以用它插入自己的工作时间 其中一个请求是,页面应显示每10分钟登录一次的消息。用户在一台机器上进行生产,并且旁边有一台计算机,因此用户可能会在每小时的网页上不活动5-60分钟(甚至更长),但他仍然会留在网页上 为了每10分钟生成一次弹出消息,我使用了JQuery中创建的计时器,这一切都很好。由于不确定总的非活动时间,用户希望会话超时时间较大(24小时),以便会话状态(登录的用户)保持很长时间。当用户使用insert hour网页时,系统会要求用户在其他网页

最近,我创建了一个asp经典网页,用户可以用它插入自己的工作时间

其中一个请求是,页面应显示每10分钟登录一次的消息。用户在一台机器上进行生产,并且旁边有一台计算机,因此用户可能会在每小时的网页上不活动5-60分钟(甚至更长),但他仍然会留在网页上

为了每10分钟生成一次弹出消息,我使用了JQuery中创建的计时器,这一切都很好。由于不确定总的非活动时间,用户希望会话超时时间较大(24小时),以便会话状态(登录的用户)保持很长时间。当用户使用insert hour网页时,系统会要求用户在其他网页上选择用户名,然后设置会话(“用户”)

为了完成长会话超时,我在根目录中创建了一个带有以下代码的
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>
因此,当会话为空时,它将重定向到“选择用户”页面,在此页面将再次设置会话(“用户”)。虽然我的超时设置,如果它真的能工作,这应该只发生在24小时后,而不是20分钟后

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

更新

我发现了问题!我的网站的
应用程序池
中的
空闲超时(分钟)
似乎仍然是默认的20分钟,出于某种原因,asp代码中的
会话超时
没有覆盖这一点


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

我自己发现了问题!我的网站的
应用程序池
中的
空闲超时(分钟)
似乎仍然是默认的20分钟,出于某种原因,asp代码中的
会话超时
没有覆盖这一点

因此,对于任何面临相同问题的人,我建议您先到IIS-->中的应用程序池,然后再到网站的应用程序池-->转到高级设置-->流程模型-->并更改空闲超时实际上不是解决方案。我遇到了同样的问题,并解决了配置应用程序池的问题:

基本配置-不要使用.NET CLR。选择“无托管代码”

管道代码仍然是集成的


已在Windows 10 Pro和Windows 2008 server上试用,并在这两种系统上都适用。

在ASP属性页中,您的
超时值看起来不正确。默认值为
00:20:00
(20分钟)。所以,24小时应该是
24:00:00
。你的
24.00:00:00
是不对的。24小时超时使“会话”变得毫无意义。。。您是否有24小时“工作”的用户?您还允许更长的会话,从而增加了服务器的开销。我有一个网站,其中4小时是最我会推动它。。。如果用户在4小时内不做某事,我就不再认为它们是活动的了。我可以把它改成更少的东西,但这并不能真正回答我的问题。但是你说得有道理。@Bond Yep我也注意到了,我在asp代码和IIS上把超时时间改为6小时,现在它的格式似乎正确了。交叉我的手指,它现在可以工作了@Bond仍然无法工作,即使将怪异的
24.00:00:00
更改为
06:00:00
20分钟后仍会重置。。
if session("user")="" then 
        response.redirect("ShowPage.asp?page=SelectUserTimeout")

        response.end
end if