【问题标题】:Is there a way to configure the Application Pool's "Idle timeout" in web.config?有没有办法在 web.config 中配置应用程序池的“空闲超时”?
【发布时间】:2023-04-11 03:39:02
【问题描述】:

我知道可以设置会话超时。但是,如果应用程序本身在给定的时间段内没有收到任何请求,IIS 就会关闭应用程序。

此行为可在 IIS 管理控制台中配置,我知道如何执行此操作。不过,我想知道是否可以在 web.config 中进行配置。

【问题讨论】:

    标签: iis web-config application-pool python-idle


    【解决方案1】:

    不在 IIS 6 中。在 IIS 6 中,应用程序池由工作进程控制,工作进程映射到由 HTTP.sys 处理的请求队列。 HTTP.sys 处理与 WWW 服务器的通信以确定何时启动和停止工作进程。

    由于 IIS 6 是在 .Net 之前创建的,因此 .Net 和低级 http 处理程序之间没有通信挂钩。

    ASP.net 被实现为一个 ISAPI 过滤器,它由工作进程本身加载。如果您正在查看控制工作进程的 web.config,则会遇到先有鸡的问题。这就是为什么 MS 对 IIS 7 进行了重大重写的主要原因,它在整个请求生命周期中集成了 .Net,而不仅仅是 ISAPI 过滤器部分。

    【讨论】:

      【解决方案2】:

      您可以编辑这些设置,但不能在 web.config 中。如果你有 IIS7,设置在 applicationHost.config 中,关键属性是 shutdownTimeLimit
      你可以谷歌一下,了解如何使用 appcmd 和其他工具来设置或更改它。

      Example

      您也可以通过编辑\inetsrv\config 目录中的applicationHost.config 文件直接修改shutdownTimeLimit。

      applicationHost.config 文件的架构位于 \inetsrv\config\schema\IIS_schema.xml 文件中。
      所以在你最喜欢的模式感知 XML 编辑器中打开它,你会得到智能感知等。

      【讨论】:

        【解决方案3】:

        您可以通过设置 IdleTimeout 来做到这一点。 BUT 对 processModel 元素的更改仅在工作进程重新启动时才会生效,而不是在设置更改后立即生效,就像其他配置元素一样。 你可以在这里看到它: processModel Element

        您还必须更改 machene.config 才能从其他存档编辑机器配置。

        【讨论】:

          猜你喜欢
          • 2018-07-03
          • 2010-12-08
          • 1970-01-01
          • 1970-01-01
          • 2019-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-19
          相关资源
          最近更新 更多