【问题标题】:My session variables lose their values after a certain length of time, can I lengthen the period somehow?我的会话变量在一段时间后失去了它们的值,我可以以某种方式延长时间吗?
【发布时间】:2012-08-28 08:13:12
【问题描述】:

我的会话变量保存用户用于登录的值,但如果网站未使用,它们似乎会在五分钟左右后初始化。如果登录详细信息不存在,系统会将用户注销,有什么办法可以延长此期限?

【问题讨论】:

  • 嗯,这就是会话的设计目的:)
  • 我会拒绝增加会话超时值,而是实现 AJAX“保持活动”,正如 nunespascal 在他的回答中所建议的那样

标签: asp.net vb.net visual-studio-2008 session-variables


【解决方案1】:

在 web.config 中更改会话超时时间;

<system.web>
    <sessionState timeout="60"></sessionState>
</system.web>

【讨论】:

  • 感谢您的回复,我可以将它放在 web.config 中的任何位置还是需要放在特定部分?忽略这个,我发现它在system.web下。再次感谢这应该可以解决问题。
  • @user616076 已更新位置
【解决方案2】:

您可以将 IIS 超时时间延长

<system.web>
    <sessionState timeout="60"></sessionState>
</system.web>

通常有一个很长的会话不是一个好主意。它会增加服务器的负载。

考虑使用 AJAX 调用向服务器发送心跳消息,告诉它保持会话处于活动状态。

这样您可以在服务器上保持一个小的超时,但对于在浏览器中打开应用程序的客户端来说,一个更长的时间。

【讨论】:

  • 我还推荐基于 AJAX 的“保持活力”方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
相关资源
最近更新 更多