【问题标题】:Does Asp.net Session timeout extends automatically?Asp.net 会话超时是否会自动延长?
【发布时间】:2013-04-05 00:32:24
【问题描述】:

我在我的 asp.net Web 应用程序中定义了会话:

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="5">
  <providers>
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
  </providers>
</sessionState>

在应用程序中,我正在从会话中读取/保存数据。

Session["userId"] = "UID123443";
string userId = Session["userId"].ToString()

我的问题是,如果我在会话中读取/写入数据,超时是否会自动重新初始化?

如果是,有什么方法可以防止这种情况发生吗?例如,我需要会话在 5 到 5 分钟后过期,即使我正在访问它的数据。

【问题讨论】:

    标签: asp.net asp.net-session


    【解决方案1】:

    我相信每次您对服务器执行任何操作时都会重置超时会话。所以导致回发会重置计时器。

    您可以添加一个名为“WhenToTimeout”的会话变量,将其设置为从现在开始 5 分钟。只做一次。然后,当当前时间晚于该时间时 - 做你需要做的事情(将它们注销,...)

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 2011-01-17
      • 2012-02-08
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-08
      • 2018-03-19
      • 1970-01-01
      相关资源
      最近更新 更多