1. 目的
通过配置实现IIS站点在应用程序池回收或者重新启动之后能够自动初始化。确保用户访问时,站点处于可用的状态,避免用户初次访问时,由于冷启动导致的站点响应速度缓慢。
2. 步骤
2.1 应用程序初始化
(1) 打开网站的“配置管理器”
(2)在编辑配置器页面的“节”下拉列表中选择 system.webServer/applicationInitialization
(3)将 doAppInitAfterRestart 设置True
(4)点击“(集合)”右侧的“…”按钮,添加一个初始化项
(5)设置初始化项的“hostName”和“initializationPage”,“项路径”不需要填写,保存之后“项路径”由系统自动填充。
注意:hostName不要加http,只需要域名或者ip:端口号;initializationPage是需要初始化访问的页面或者api路径。
(6)添加好后,点击右侧的“应用”按钮,完成保存。
(7)打开站点的“高级设置”,将“预加载已启用”设置为“True”。
2.2 配置应用程序池
打开站点的应用程序池的“高级设置”,将启动模式设置成“AlwaysRunning”。
2.3 修改 web.config 文件
确保站点的 hostingModel=“inprocess”
。
如果 hostingModel=“OutOfProcess”
,需要改成“inprocess”
,上面步骤的设置在 “OutOfProcess”
(IIS进程外模式)下不起作用。
说明:如果应用部署在IIS上,使用inprocess模式性能更优。关于 IIS hosting model 的背景知识,可与阅读文末列出的参考文献。
最后,重启应用程序池和站点即可。