经典ASP网站中的会话超时

时间:2014-04-10 06:29:44

标签: iis-7 asp-classic session-timeout

经典ASP在哪里存储会话超时的值?我查看了代码,这个经典的ASP网站并没有使用Global.asa(所以没有#34; Session_OnStart")或Session.timeout = x。该网站托管在IIS 7.On的IIS网站上,在功能视图中,双击" ASP" - >会话属性 - >启用会话设置为' True'并且超时值设置为20.问题是:尽管会话超时设置为20分钟。在IIS上,它在5分钟后超时。是否有其他方法/地方可以修改此经典ASP网站的会话超时值?

有人可以帮我这个吗?

编辑:我查看了应用程序池的设置。空闲超时为20分钟。和回收 - >常规时间间隔设置为1740。

4 个答案:

答案 0 :(得分:5)

根据我的评论,您的回收设置需要像下图一样设置,以确保不会重置应用程序池。

Recycling settings in IIS 7+

还值得设置“生成回收事件日志条目”,以便您可以查看导致应用程序池重置的事件。这样您就可以在事件查看器中监视它。

enter image description here


有用的链接

答案 1 :(得分:2)

你可以双向完成。

  1. 将全局asa文件放入您网站的根目录并定义会话时间

  2. 您可以在每个相关页面的顶部引入以下行(如果您不使用包含标题)

    <%
       Session.Timeout=20
       Server.ScriptTimeout=1200
    %>
    
  3. 20是以分钟为单位的周期,1200是以秒为单位的相同周期。请记住,服务器需要几秒钟而不是一分钟!默认情况下,如果任何脚本运行时间超过90秒,IIS将终止该脚本。

    如果您使用包含文件作为标题,那么您只需要在选项显式后的页面顶部进行一次。并假设您已经按照@Lankymart的建议禁用了所有应用程序池默认值。

答案 2 :(得分:1)

在IIS7中,单击您的站点,双击ASP,然后展开“限制属性”。然后,您将看到HH:MM:SS格式的脚本超时设置。设置它,它应该解决问题。

来源:http://technet.microsoft.com/en-us/library/bb632464.aspx

答案 3 :(得分:-3)

你看过web.config文件了吗?我不是经典的asp专家,但是在asp.net中你也可以在文件中设置会话状态,如下所示:

<sessionState mode="InProc" cookieless="false" timeout="60"></sessionState>

您可能需要验证两件事。

1。)你的应用程序池不经常回收。

2。)我上面提到的。