【发布时间】:2013-04-11 17:55:36
【问题描述】:
好的,所以我基本上正在使用新的 IIS 8.0 应用程序初始化模块实现天蓝色预热。
我有一个启动任务(cmd 文件),它基本上已经取消了 IIS 中的空闲超时和回收时间。我正在尝试向其中添加应用程序初始化。
我意识到我需要设置两件事; startMode 和 preloadEnabled。
我的应用程序在 IIS 中有许多站点(大约 10 个),所有站点都由 Azure 随机命名,并带有自己随机命名的应用程序池。
startMode 很简单,因为可以通过以下方式将其设置为应用程序池默认值:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.startMode:AlwaysRunning
这会将其应用于所有应用程序池。
但是,preloadEnabled 就不是那么容易了。
要设置preloadEnabled,您可以将其用于命名站点:
%windir%\system32\inetsrv\appcmd set config -section:sites [name='MySite'].applicationDefaults.preloadEnabled
但我需要将它应用于我不知道名称(它们是随机的)的所有网站,这是一种默认值(我如何设置startMode)。
有什么想法吗?
【问题讨论】:
-
你试过那个吗:
appcmd.exe set config -section:system.applicationHost/sites /applicationDefaults.preloadEnabled:"True" /commit:apphost -
@astaykov preloadEnabled 不是站点默认设置的选项,只能按站点设置(我试过了,它说这样的设置不存在
-
在您的架构中,您是动态添加站点,还是在构建云服务包时固定站点,在部署时不进行任何更改(即不添加或删除新站点)?