15

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

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

4

3 回答 3

5

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

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

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

于 2009-03-09T19:51:00.240 回答
3

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

例子

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

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

于 2009-03-09T18:53:50.500 回答
0

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

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

于 2009-04-17T07:14:17.843 回答