1

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

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

非常感谢,彼得

4

3 回答 3

1

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

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

于 2014-10-29T11:59:38.057 回答
1

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

取自这里...

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

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

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

于 2011-08-12T18:34:37.557 回答