我有一个相当大的网站试图解决第一次命中的处罚。尝试使用aspnet_compiler进行预编译似乎并没有像我想象的那样工作。
我运行命令如下:
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_compiler -p "C:\Development\Source\WEB" -v / "C:\Staging" -c
Web.Config 设置如下(不确定这是否重要?)
<compilation debug="false" strict="false" batch="true" explicit="true" targetFramework="4.0" optimizeCompilations="true">
IIS 应用程序池(由于第三方引用,无法更改值)
- .NET 框架版本:v4.0
- 启用 32 位应用程序:False
- 托管管道模式:经典
运行 Windows Server 2008R2
当我导航到站点 (C:\Staging) 的第一页(登录)时,我得到了 appx. 60 秒预热,我可以看到临时目录C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files中的文件缓存/编译
我的假设是,通过使用 aspnet_compiler,我将能够绕过这个预热循环的需要。是否有明显的我遗漏的东西或其他一些预编译的方法,这样我们就没有第一次的惩罚?
这似乎每天都在发生(没有真正的证据),可能在应用程序池回收时发生?再次,寻找解决方法。
谢谢你的帮助