【问题标题】:sessionState time out not workingsessionState 超时不起作用
【发布时间】:2011-09-09 02:38:29
【问题描述】:

我已将 sesstionstate 超时设置为 60,即 1 小时。但是,用户在 20 分钟后仍然收到会话过期消息。

我们使用 Windows Server 2008 来托管 asp.net 应用程序。谁能告诉我为什么会话会在 20 分钟后过期?

我正在使用 Windows 身份验证。以下是我的网络配置:

<sessionState  timeout="60" />

【问题讨论】:

  • 您究竟是如何尝试设置 SessionState 超时的?请贴出相关代码或详细说明。
  • 你在哪里配置了会话超时?在 web.config 或 iis 中?
  • 抱歉,我已经用 web.config 值更新了我原来的问题。

标签: .net asp.net session iis-7 session-timeout


【解决方案1】:

首先检查 Windows 事件日志以确保工作进程没有被强制回收。 您的代码中可能有一些东西会导致工作进程强制自己回收,在这种情况下,当会话被存储inProc 时,它将丢失它所持有的所有会话值。

您需要在 IIS=>池应用程序=>高级设置中进行这些更改...

【讨论】:

    【解决方案2】:

    检查 IIS 会话数量。它可能与 .NET 会话数量不同。

    Configure Session Time-out (IIS 7)
    另见this question

    默认情况下,当用户在 ASP 应用程序中 20 分钟未请求或刷新页面时,会话过期

    【讨论】:

    • 您提供的链接也只适用于经典的 ASP 或 ASP.NET?
    • IIS 上的会话无关紧要 - ASP 和 ASP.NET 页面可以在一个应用程序中运行。 IIS 处理 .NET 之外的会话
    • 还要检查表单身份验证超时(如果您正在使用)和应用程序池空闲时间
    • hm.. 知道什么是应用程序池设置中的空闲超时这也会导致问题吗?
    • 您是否尝试更改 IIS 会话空闲时间?
    猜你喜欢
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2011-06-24
    • 2013-07-22
    • 2017-08-07
    • 2018-12-27
    相关资源
    最近更新 更多