Iis 7 经典ASP网站中的会话超时

Iis 7 经典ASP网站中的会话超时,iis-7,asp-classic,session-timeout,Iis 7,Asp Classic,Session Timeout,classic ASP在哪里存储会话超时值?我看过代码,这个经典的ASP网站没有使用Global.asa(因此没有“Session\u OnStart”)或Session.timeout=x。该网站位于IIS 7上。在该网站的IIS上,在“功能”视图中,双击“ASP”->会话属性->启用会话设置为“True”,超时值设置为20。问题是:虽然会话超时设置为20分钟。在IIS上,它在5分钟后超时。是否有其他方法/位置修改此经典ASP网站的会话超时值 有人能帮我吗 编辑:我查看了应用程序池的设置。空闲

classic ASP在哪里存储会话超时值?我看过代码,这个经典的ASP网站没有使用Global.asa(因此没有“Session\u OnStart”)或Session.timeout=x。该网站位于IIS 7上。在该网站的IIS上,在“功能”视图中,双击“ASP”->会话属性->启用会话设置为“True”,超时值设置为20。问题是:虽然会话超时设置为20分钟。在IIS上,它在5分钟后超时。是否有其他方法/位置修改此经典ASP网站的会话超时值

有人能帮我吗


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

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

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


有用的链接
  • (2013年4月6日,星期六)
    • 你可以用两种方法来做

    • 将全局asa文件放入站点的根目录中,并在那个里定义会话时间

    • 您可以在每个有问题的页面顶部引入以下行(如果您不使用include页眉)

      
      
    • 20是以分钟为单位的周期,1200是以秒为单位的相同周期。请记住,服务器只需几秒钟而不是几分钟!!!默认情况下,如果任何脚本的运行时间超过90秒,IIS将终止该脚本


      如果使用include file作为标题,则只需在选项explicit之后的页面顶部执行一次。假设您已经按照@Lankymart的建议禁用了所有应用程序池默认设置。

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

      <sessionState mode="InProc" cookieless="false" timeout="60"></sessionState>
      
      
      
      您可能需要验证两件事

      1.)您的应用程序池不经常回收


      2.)我上面提到的。

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


      来源:

      如果您还检查了其他回收限制,我倾向于禁用所有限制,并在IIS的ASP部分中使用会话超时值。@Lankymart:-IIS中的所有其他设置都有默认值。是否还有其他地方需要查看?会话超时可以,但如果设置了任何应用程序池回收设置,它们将覆盖会话超时。应用程序池中的默认设置不好,需要更改。对不起,我不知道你在说什么……应用程序池->高级设置->回收下的“常规时间间隔”设置为1740分钟。我应该修改应用程序池的哪个设置?你说得对,现在是分钟,但我的观点仍然站得住脚,如果你想让它仅基于20分钟的会话超时,你需要禁用应用程序池回收设置中的所有值,否则你的会话仍会意外删除,出现奇怪的行为。没有必要在此处添加会话超时,它可以在IIS的站点级别进行配置在
      ASP
      ->
      服务
      ->
      会话属性
      子部分下的
      超时
      (值以小时、分钟和秒为单位)。脚本超时也可以在
      ASP
      ->
      行为
      ->
      限制属性
      标题下的
      脚本超时
      (以小时、分钟和秒为单位)。很抱歉,我一定错过了他说他是Java开发人员的地方?另外,不是每个人都有网站架构师,我维护web服务器、网站和运行它们的底层代码。更不用说必须成为DBA了。这是我的观点,在“原始帖子”中并没有这样说,而且它还没有被编辑过,所以你可能在想另一个问题,类似于你评论过的问题。看看这部作品的问题历史,我会说他可能更像一个C#开发者。至于不必要的,我很抱歉,但是会话控制应该在站点级别进行控制,除非您有特定的要求。在IIS网站配置中设置一次会话超时比在每个页面上添加一个
      #include
      要容易得多(虽然会话是跨网站的,所以您只需要设置一次会话超时)。经典Asp没有网站。config@ShaneCourtrille不正确,
      部分专门用于配置经典ASP设置。然而,答案中的示例是针对ASP.Net的,而不是经典的ASP。
      <sessionState mode="InProc" cookieless="false" timeout="60"></sessionState>