我在Windows / IIS平台下部署了一个小型.NET Core应用程序部署到Elastic Beanstalk。该应用程序很棒。但是,我想将它设置为预加载,以便在没有人访问网站的情况下进行初始化。
通常,这由c:\windows\system32\inetsrv\appcmd.exe set app "Default Web Site/" /preloadenabled:true
等完成。所以我在.ebextensions
文件夹中创建了一个命令:
文件:04_preload_enabled.config
commands:
set_preload_enabled:
command: c:\windows\system32\inetsrv\appcmd.exe set app "Default Web Site/" /preloadenabled:true
在此之前运行3个其他文件来设置应用程序池(见下文)。但是,部署后,网站的preloadEnabled设置仍为false
。如果我终止进入Elastic Beanstalk实例并在命令提示符下运行这些命令,则所有内容都已正确设置。
我缺少什么,如何将preloadEnabled设置为true?
P.S。 Ebextension命令在04_preload_enabled.config
之前运行文件:01_idle_time.config
commands:
set_idle_time:
command: c:\windows\system32\inetsrv\appcmd.exe set config /section:applicationPools "/[name='DefaultAppPool'].processModel.idleTimeout:0.00:00:00"
档案:02_auto_start.config
commands:
set_auto_start:
command: c:\windows\system32\inetsrv\appcmd.exe set config /section:applicationPools "/[name='DefaultAppPool'].autoStart:true"
文件:03_start_mode.config
commands:
set_start_mode:
command: c:\windows\system32\inetsrv\appcmd.exe set config /section:applicationPools "/[name='DefaultAppPool'].startMode:AlwaysRunning"