我在 ASP.Net 中遇到了一个问题。在任何 Web App 配置 Web.config 文件中都有一个名为 httpRuntime 的部分,它有一个属性:shutdownTimeout。根据 MSDN 文档,此属性指定在 ASP.Net 运行时终止工作进程之前允许工作进程的空闲时间多长时间。另一方面,在 IIS 的 ApplicationPool's -> Default AppPool -> properties -> performance 选项卡下,有一个设置:“空闲(20)分钟后关闭工作进程”。
我猜在 IIS 下,此设置适用于所有用于处理传入请求的工作进程,而不仅仅是特定 ASP.Net 运行时所在的进程。如果 Web.Config 的 shutdownTimeout 还没有生效,那么 IIS 的设置就会起作用。
然而据我观察,虽然 httpRuntime 的 shutdownTimeout 默认值为 90 秒,但我的 Web 应用程序总是在空闲 20 分钟后关闭。似乎 IIS 设置优先考虑这方面。
如果有人能澄清这一点,我们将不胜感激:我的猜测有什么问题。