我有一个相当大的网站试图解决第一次点击点球。尝试使用 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应用程序池(由于第三方引用而无法更改值)
运行Windows Server 2008R2
当我导航到站点中的第一页(登录)(C:\ Staging)时,我得到了appx。 60秒预热,我可以在临时目录中看到文件缓存/编译 C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files
我的假设是,通过使用aspnet_compiler,我可以绕过这个预热周期的需要。是否有一些明显的我遗漏或其他一些预编译手段,以至于我们没有第一次处罚?
这似乎发生了(没有真正的证据)一天,可能是应用程序池回收?再次,寻找一些解决方法。
感谢您的帮助
答案 0 :(得分:0)
你走在正确的轨道上;我使用aspnet_compiler工具将我们的网站开始时间从~120秒更改为8秒。对于具有大量aspx / ascx文件的复杂网站,它非常适用 。
我使用如下命令: %windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_compiler -v / -p C:\ Projects \ branches \ demo3 \ KenticoCMS -fixednames C:\ Projects \ branches \ demo3precomp
此命令用于构建位于其自己的域上的网站,并位于C:\ Projects \ branches \ demo3 \ KenticoCMS目录中。我输出到C:\ Projects \ branches \ demo3precomp目录,然后将其内容部署到服务器。