aspnet_compiler和第一次加载的问题

时间:2013-04-16 19:31:59

标签: asp.net aspnet-compiler

我有一个相当大的网站试图解决第一次点击点球。尝试使用 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 Framework版本:v4.0
  • 启用32位应用程序:错误
  • 管理管道模式:经典

运行Windows Server 2008R2

当我导航到站点中的第一页(登录)(C:\ Staging)时,我得到了appx。 60秒预热,我可以在临时目录中看到文件缓存/编译 C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files

我的假设是,通过使用aspnet_compiler,我可以绕过这个预热周期的需要。是否有一些明显的我遗漏或其他一些预编译手段,以至于我们没有第一次处罚?

这似乎发生了(没有真正的证据)一天,可能是应用程序池回收?再次,寻找一些解决方法。

感谢您的帮助

1 个答案:

答案 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目录,然后将其内容部署到服务器。