ASP.net IIS 8 上的站点在 20 分钟后停止响应

ASP.net site on IIS 8 stops responding after 20 minutes

这应该是一个简单的问题,但我一直在研究它,无法解决它。

我有一个简单的 ASP.net 网站,其中有一些文本框、下拉菜单和几个按钮。其中一个文本框有一个 OnTextChanged 事件,下拉列表有 OnSelectedIndex 事件。当然,按钮上附加了 OnClickEvents。

所有事件都很简单,秒到运行。一切正常。

我遇到的问题是当有人加载页面、做一些工作然后离开 20 多分钟。当他们 return 到页面时,没有任何效果。他们可以在文本框中输入数据并从下拉列表中输入 select 值,但会触发 none 的事件。这会强制用户刷新页面以使一切恢复正常。

我在代码和网络配置中搞砸了多个超时设置。我已经调整站点和 IIS 服务器上的超时设置。似乎没有任何效果。该页面在 20 分钟后就消失了。

现在,正如我所说,我已经测试了5分钟和10分钟。这两个都工作得很好。因此,在 10 分钟后的某个时候会出现无响应,但我已经用了 20 分钟进行测试。

就像我说的,我确信它很简单,当我终于找到它时我会觉得自己像个白痴,但到目前为止我已经在这上面浪费了太多时间。有可能我已经修改了正确的设置但是忘记了刷新页面或清除缓存或一些愚蠢的事情,但到目前为止我只是被卡住了。

正如 Alex Kudryashev 所说,我建议您可以检查应用程序池中的空闲超时设置。

空闲超时分钟数是工作进程在关闭前保持空闲的时间量。如果工作进程不在处理请求并且没有收到新请求,则它处于空闲状态。默认值为 20(分钟)。

这意味着如果服务器没有收到所有请求,进程将关闭。所以你会发现你的应用程序在 20 分钟内无法运行。

为避免这种情况,您可以将值修改为 0。这意味着该设置已被禁用。您的申请将始终 运行.

详情可以参考下图: