通过配置实现IIS站点在应用程序池回收或者重新启动之后能够自动初始化。确保用户访问时,站点处于可用的状态,避免用户初次访问时,由于冷启动导致的站点响应速度缓慢。
(1) 打开网站的“配置管理器”

(2)在编辑配置器页面的“节”下拉列表中选择 system.webServer/applicationInitialization

(3)将 doAppInitAfterRestart 设置True

(4)点击“(集合)”右侧的“…”按钮,添加一个初始化项

(5)设置初始化项的“hostName”和“initializationPage”,“项路径”不需要填写,保存之后“项路径”由系统自动填充。
注意:hostName不要加http,只需要域名或者ip:端口号;initializationPage是需要初始化访问的页面或者api路径。
(6)添加好后,点击右侧的“应用”按钮,完成保存。
(7)打开站点的“高级设置”,将“预加载已启用”设置为“True”。

打开站点的应用程序池的“高级设置”,将启动模式设置成“AlwaysRunning”。

确保站点的 hostingModel=“inprocess”。

如果 hostingModel=“OutOfProcess”,需要改成“inprocess”,上面步骤的设置在 “OutOfProcess”(IIS进程外模式)下不起作用。
说明:如果应用部署在IIS上,使用inprocess模式性能更优。关于 IIS hosting model 的背景知识,可与阅读文末列出的参考文献。
最后,重启应用程序池和站点即可。