【问题标题】:Session time out setting in ASP.NetASP.Net 中的会话超时设置
【发布时间】:2012-10-13 04:04:12
【问题描述】:

我在 web.config 文件中将会话超时设置为 9 小时,如下所示:

“<sessionState mode="InProc" timeout="540" />

但用户经常抱怨他们在不到 9 小时的不活动中面临超时,并且超时后的时间间隔也各不相同。

我想知道会话超时是否取决于 IIS 中的以下任何设置:

  1. 会话时间设置
  2. 应用程序池的空闲超时设置
  3. 回收设置。

请指教。 另外,如何检查 IIS 7.0 中的会话超时设置?

【问题讨论】:

  • 你在使用表单认证吗?

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


【解决方案1】:

ApplicationPool 回收时会话将丢失。这是您提到的 IIS 设置之一。仅在 web.config 中设置超时是不够的。您需要在 IIS 中调整设置。

这是我在研究同样问题时发现的link

另外,这个问题非常有用:Losing Session State

【讨论】:

  • 感谢您提供信息和链接。它们很有用。我会试试看有没有效果。
  • Web.config 更像是服务器的 GUI(可以这么说)?那么,当我们对 Web.Cofig 进行更改时,我们基本上是在更改 IIS 服务器的设置,对吗?
【解决方案2】:

如果您使用 Forms 身份验证,则应确保您的 FormAuthentication Cookie 设置为与您的会话同时到期。

如果不确保您的 IIS 没有被回收。 (在您的 Global.asax 中放置一个记录器,以对比您的用户投诉来验证应用程序结束事件。)

【讨论】:

    【解决方案3】:

    在您的网络配置中设置会话超时是不够的。如果托管您网站的服务器在 IIS 设置中设置的超时值较少,则您的会话根据服务器会话超时值超时。

    如果您从服务器目录中删除任何文件夹,这也可能导致您的 AppPool 意外回收。

    所以请检查服务器会话超时值,如果小于,请要求您的主机根据您的要求增加它。

    【讨论】:

    • Web.config 更像是服务器的 GUI,对吧?那么,当我们对 Web.Cofig 进行更改时,我们基本上是在更改 IIS 服务器的设置,对吗? yuyour site is hosted is having less time out value set in IIS setting是什么意思
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多