2

我在 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 设置优先考虑这方面。

如果有人能澄清这一点,我们将不胜感激:我的猜测有什么问题。

4

2 回答 2

3

我做了一些挖掘并找到了答案:

属性 shutdownTimeout 控制如果 ASP.Net 运行时要求它终止,则 ASP.Net 运行时将在它自己正常退出之前关闭工作进程多长时间。

这是正确的,任何意见都非常感谢。

于 2012-07-20T20:20:40.023 回答
0

https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx

指定允许工作进程关闭的分钟数。当超时到期时,ASP.NET 关闭工作进程。

默认值为 90。

所以基本上,工作进程有 X 分钟的时间来关闭工作进程。如果它达到 X,它就会被杀死。

于 2016-10-04T19:05:30.990 回答