【问题标题】:Website connection timeout after a minute - ASP.NET一分钟后网站连接超时 - ASP.NET
【发布时间】:2011-08-12 18:20:14
【问题描述】:

我最近发布了我的 asp.net 网页,在离开该页面后似乎一分钟左右处于非活动状态且没有焦点,当您尝试按下页面上的任何内容(按钮、链接等)时,连接将超时。为了解决这个问题,我必须刷新页面并继续执行任何尝试执行的按钮/功能。

当前会话超时设置为 100 分钟,我不知道为什么会发生这种情况。如果有帮助的话,我的网站是使用带有 .net v4.0(.30319) 的 VS 2010 ult 构建的。不确定我可以提供哪些其他相关信息,因为我不知道是什么原因造成的。

非常感谢,彼得

【问题讨论】:

    标签: asp.net connection-timeout


    【解决方案1】:

    您的网站是否更新 bin 或根文件夹中的任何文件?我认为如果发生这种情况,应用程序将重新加载,这将有效地结束所有会话。

    取自here ...

    它可以/将重新启动(或从技术上讲,卸载自身)的原因之一是:

    • web.config 已编辑
    • machine.config 已编辑
    • global.asax 已编辑
    • Web 应用程序的 bin 目录或 bin 的子目录之一中的文件已更改
    • 在 Web 应用程序目录中创建、重命名或删除目录
    • 一个 ASP.NET 文件(aspx、asmx 等)被编辑(并因此重新编译)超过 20 次,在机器配置中默认设置为名为 numRecompilesBeforeApprestart 的元素
    • 通过machine.config中元素中各种属性的设置,影响工作进程本身的重启/关闭。在 Windows 2003 上,当不使用 IIS5 隔离模式(默认不使用)时,这些元素将被忽略,而是使用 IIS 管理器中的应用程序池中的设置

    【讨论】:

    • 我不知道任何文件夹中的任何文件本身正在被编辑。虽然我们使用带有动态编译的 IIS7 托管它,但我不确定这是否会导致编译超过 20 次。这是我们的第一个 ASP Web 应用程序项目,因此我们对于将任何内容发布到 Web 上是相当陌生的。再次感谢您的帮助
    【解决方案2】:

    检查您的代码是否有任何session.abandon,或创建新会话等。确保它发生在正确的时间,而不是每次回发等。

    【讨论】:

    • 您好,感谢您的回复。虽然我在任何地方都没有 session.abandon 的任何东西(我可以找到/至少我写过)。有很多会话数据被推入和推出,但没有任何新会话。
    • 抱歉没有帮助。无论如何,我怀疑您的会话没有超时——这听起来像是安东尼在他的回答中所说的,或者当您进行回发时,您的会话正在重新创建。您可以使用的一种工具是 global.asax 中的 On_Session_Start。 (确保首先在 web.config 中将会话状态切换为 inProc)。
    【解决方案3】:

    检查您是否正在使用负载均衡器,如果您正在使用负载均衡器,请查看您是如何使用粘性 cookie 或其他方式管理负载的。

    最好我们应该在负载平衡器上使用粘性 cookie,它会确保您的请求在定义的时间内发送到同一台服务器,并且您的 cookie 不会丢失,最好的解决方案是在网络场的情况下使用会话数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 2014-08-21
      • 2011-03-28
      • 2011-02-27
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多