你的位置:首页 > ASP.net教程

[ASP.net教程]让Asp.net Web预启动


       IIS8以下解决方案:

       当我们把网站部署在IIS7或IIS6S的时候,每当IIS或是Application Pool重启后,第一次请求网站反应总是很慢,原因大家都知道(不知道可以参考这个动画说明ASP.NET网页第一个Request会比较慢的原因)。所以每次网站更新都会给第一个用户代号不好的用户体验,因此之前大家得通过撰写仿真模拟访问动作或预编译来解决此问题。但自从Windows 2012出来之后,这部分Application Initialization功能已经有内含在IIS8之中,可以直接进行设定就可以。不过微软也发布了针对针对前期的IIS单独模块:Application Initialization Module for IIS 7.5 。

 

  • 支持的操作系统有 Windows 7、Windows Vista、Windows Vista SP1、Windows XP SP2+、Windows Server 2003 SP1+、Windows Server 2008、Windows Server 2008 R2。

  安装完毕后要求重启。有文说模块安装完毕后,在IIS里能看到关于次模块图标,不过我是没见着。为解决此问题,得再安装Application Initialization for UI,才有办法让IIS出现UI可以进行设定。安装完毕后,在IIS控制置模块中会出现一个Application Initialization图标,此时我们就可以开始设定了:

image

Warm Up设定方式满简单的,主要针对Application Pool层级或是Web Site层级两者进行设定

1.Application Pool层级:只要有需要的Application Pool的Start Mode设定AlwaysRunning就可以

image

2.Web Site层级:选择你们要做Preload的Web Site。

image

选择好Web Site之后,记得下图红框地方要打勾,若是当网站初始化时间要很久话,可以再Splash Page定义初始化网页说明

说明网站正在初始化,让用户感觉比较友善

image

以上都设定好之后,进行测试一下。

 

如果是IIS8或以上(Win8/Win10/Window Server2012),则不用下载,具体步骤

1,应用程序池--高级设置--启动模式,设为AlwaysRunning

2,选中站点,点选右方高级设置--预加载已启用,设为True

 

================================================

命令行工具:

//设置网站预加载
appcmd set apppool /apppool.name:ZoomlaCMS86 /startMode:AlwaysRunning
APPCMD set SITE  ZoomlaCMS86 /applicationDefaults.preloadEnabled:true

================================================