我不知道从哪里开始,或者即使我的想法是在正确的方向。 希望这里有人能告诉我该怎么做,或者至less给我一个开始旅行的方向。
我在Intranet网站上工作,该网站包含多个MVC3和Coldfusion应用程序。 我已经设置了AppPool每天凌晨2:00回收。 现在,我想创build一个计划任务来重新加载该IIS网站下包含的每个应用程序,以便当第一个用户在上午进来时,他们不必等待30秒到2分钟,以将其应用程序重新加载到IIS AppPool。
有一个容易做到这一点? 正如我所看到的,我唯一的select是:
现在,如果那里有我唯一的select,是否有可能使用.NET库,可以让我轻松地findIIS下的MVC3应用程序?
使用应用程序初始化模块来执行此操作: http : //www.iis.net/download/ApplicationInitialization
这个模块有一个较老的版本,但这是最近重写的版本。 它仍然在CTP,但看起来相当稳定。
此外,该模块似乎默认包含在Server 2012和IIS8中
我们通常会创build一个计划任务,每隔几分钟运行wget来执行初始加载。 这可以从任何电脑运行。 IIS 7有一个“热身”function,但是我真的不明白它比用wget更简单。
wget.exe --quiet --secure-protocol=SSLv3 --no-check-certificate sitename.domainname.com
另请注意,如果您的网站没有预编译,那么用户仍然会为每个尚未编译的页面导致延迟。 最好的办法是在构build过程中使用aspnet_compiler.exe来为你做。
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe" -f ^ -v "/" -p "%~dp0..\..\SourceWebSiteFolder" ^ -d -fixednames "%~dp0..\..\PublishedWebSiteFolder"