经典ASP在哪里存储会话超时的值?我查看了代码,这个经典的ASP网站并没有使用Global.asa(所以没有#34; Session_OnStart")或Session.timeout = x。该网站托管在IIS 7.On的IIS网站上,在功能视图中,双击" ASP" - >会话属性 - >启用会话设置为' True'并且超时值设置为20.问题是:尽管会话超时设置为20分钟。在IIS上,它在5分钟后超时。是否有其他方法/地方可以修改此经典ASP网站的会话超时值?
有人可以帮我这个吗?
编辑:我查看了应用程序池的设置。空闲超时为20分钟。和回收 - >常规时间间隔设置为1740。
答案 0 :(得分:5)
根据我的评论,您的回收设置需要像下图一样设置,以确保不会重置应用程序池。
还值得设置“生成回收事件日志条目”,以便您可以查看导致应用程序池重置的事件。这样您就可以在事件查看器中监视它。
答案 1 :(得分:2)
你可以双向完成。
将全局asa文件放入您网站的根目录并定义会话时间
您可以在每个相关页面的顶部引入以下行(如果您不使用包含标题)
<%
Session.Timeout=20
Server.ScriptTimeout=1200
%>
20是以分钟为单位的周期,1200是以秒为单位的相同周期。请记住,服务器需要几秒钟而不是一分钟!默认情况下,如果任何脚本运行时间超过90秒,IIS将终止该脚本。
如果您使用包含文件作为标题,那么您只需要在选项显式后的页面顶部进行一次。并假设您已经按照@Lankymart的建议禁用了所有应用程序池默认值。
答案 2 :(得分:1)
在IIS7中,单击您的站点,双击ASP,然后展开“限制属性”。然后,您将看到HH:MM:SS格式的脚本超时设置。设置它,它应该解决问题。
答案 3 :(得分:-3)
你看过web.config文件了吗?我不是经典的asp专家,但是在asp.net中你也可以在文件中设置会话状态,如下所示:
<sessionState mode="InProc" cookieless="false" timeout="60"></sessionState>
您可能需要验证两件事。
1。)你的应用程序池不经常回收。
2。)我上面提到的。