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