【问题标题】:ASP.NET - Session Time OutASP.NET - 会话超时
【发布时间】:2009-10-23 02:53:22
【问题描述】:

在我的应用程序的web.config 文件中,在<sessionState> 我设置了timeout="60"(以分钟为单位)的部分,但会话状态 我的应用程序中的变量似乎在大约 1 分钟后到期。 知道是什么原因造成的吗?

【问题讨论】:

    标签: asp.net iis asp.net-2.0


    【解决方案1】:

    是的。

    会话超时也由 IIS 指定和控制(尽管当然有重叠)。在 IIS 6.0 中,您还需要检查 IIS 管理器中的以下位置(虚拟目录的属性):

    • ASP.net 选项卡 > 编辑配置 > 身份验证选项卡 > Cookie 超时
    • ASP.net 选项卡 > 编辑配置 > 状态管理选项卡 > 会话超时

    将所有这些设置为相同的值,为我解决了这个问题。

    编辑:显然之前列出的第一个选项与它无关。这意味着,这两个选项中的第一个现在是您修复会话超时的地方。可能不是您的会话超时,而是身份验证到期。

    或者另一种可能是工作进程重新启动,或者应用程序重新启动。还有要调查的事情。

    【讨论】:

    • ASP.NET Session 超时和Classic ASP Session 不是一回事,没有关系。在 IIS 中设置经典 ASP 会话超时不会影响 ASP.NET 会话生命周期。
    【解决方案2】:

    如果您将会话状态存储在“进程中”,那么每次应用程序池回收时,您都可能会丢失会话(这在内存不足的服务器上经常发生)。您可以尝试使用 State Server 或 SQL Server 存储会话状态“out of proc”。

    PRB: Session Data Is Lost When You Use ASP.NET InProc Session State Mode

    【讨论】:

      猜你喜欢
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2020-07-23
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多