【问题标题】:Asp.net Session Expire randomly on live Web serverAsp.net 会话在实时 Web 服务器上随机过期
【发布时间】:2014-02-12 06:32:48
【问题描述】:

我真的遇到了 asp.net Web 应用程序的问题。我正在使用会话,在我的本地计算机和 IIS 服务器上似乎没问题。

但在我的实时服务器上,会话会随机到期(最长 5 分钟,最长 30 分钟)。我已经尝试了几乎所有的可能性,但我从来没有赢过。

请告诉我如何解决我的问题。

【问题讨论】:

  • 您的 web.config 文件中有以下设置吗? <sessionState timeout="20"></sessionState>
  • 是的,我的超时时间设置为 9999
  • 有没有清除会话变量的代码?
  • 你检查过日志吗?也许应用程序池重新启动。

标签: c# asp.net session


【解决方案1】:

您是否从 webconfig 尝试过..

<configuration>
  <system.web>
     <sessionState timeout="20"></sessionState>
  </system.web>
</configuration>

【讨论】:

  • 是的,我尝试过 9999,这就是为什么它总是在我的本地机器和我的 iis 服务器上。感谢您的回复
  • ....你试过模式了吗..
  • 有关会话模式的更多信息...msdn.microsoft.com/en-us/library/ms178586.aspx
  • 然后从您的实时服务器中,您必须检查默认网站设置中的会话超时设置..
  • 您能否告诉我究竟是什么导致了随机到期问题。如果它同时到期意味着我必须增加。但在这种情况下,我不知道该怎么办
【解决方案2】:

尝试在 session_end 事件上实现登录 global.asax 并将会话模式设置为 InProc

void Session_End(object sender, EventArgs e)
    {
        // Code that runs when a session ends. 
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer 
        // or SQLServer, the event is not raised.

    }
<configuration>
  <system.web>
     <sessionState mode="InProc" timeout="20"></sessionState>
  </system.web>
</configuration>

以便您找出会话到期的原因。

【讨论】:

    【解决方案3】:

    我也一直在研究同样的事情,发现一个类似的帖子说你的应用内存可能由于内存不足而被回收。

    random IIS session timeout

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-12
      • 2015-11-18
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 2014-10-30
      • 1970-01-01
      相关资源
      最近更新 更多