因此,IIS 喜欢关闭未使用的应用程序池。虽然这很有意义,但我希望某些应用程序池连续运行,但我不想仅仅禁用自动应用程序池重启,因为有些设置(例如,最大内存限制)是很好的。
我知道微软宣布 IIS 应用程序预热模块作为 IIS 7.5 的一项功能,然后又进行了诱饵转换并再次将其拉出,以便他们可以将其放入 IIS 8 中,所以我想知道是否存在可以在 IIS 7.5/Windows 2008 R2 上运行的东西?
答案1
我曾经回答过类似的问题堆栈溢出。
微软将预热功能移至 IIS 8,但他们还发布了IIS 7.5 的应用程序初始化模块作为单独下载。
我认为最引人注目的功能是该模块还支持重叠进程回收。 遵循 IIS 8.0 的教程包括如何实现重叠进程回收的逐步方法。
答案2
自动启动功能怎么样?它能满足您的要求吗?除此之外,您还可以在操作系统启动时编写一些脚本,以便在服务器启动时进行第一次 HTTP 调用 - 您希望脚本知道(或等待)IIS 已启动并响应,然后再触发请求。以下是一些想法对于这些脚本。事实上,SO 上关于这个主题的内容比 SF 上多得多。
答案3
您可以按照以下步骤操作:
- 编辑 %WINDIR%\system32\inetsrv\config\applicationHost.config
- 在
<applicationPools>
标签中,找到您网站的相关应用程序池并添加属性:startMode="AlwaysRunning"
。 - 添加属性
preloadEnabled="true"
,如下所示:<sites> -> <site> -> <application preloadEnabled="true">
不要忘记在更改之前备份文件。
答案4
看看这个帖子:http://blogs.msdn.com/b/amol/archive/2013/01/25/application-initialization-ui-for-iis-7-5.aspx
它对我有用,我需要自动激活一个 Web 应用程序,因为它托管了一个 net.Tcp WCF 服务,当调用时,不会启动应用程序,因为这仅在使用 HTTP 协议时发生。您下载该工具,安装后,您将在 IIS 管理器中拥有一个额外的小程序来处理应用程序和站点的应用程序初始化。请记住按名称对小程序进行排序,因为它有助于在 IIs 管理器中的无数图标中找到它。...