在Azure Web服务的发布期间进行预编译

时间:2014-02-25 15:36:43

标签: asp.net-mvc azure deployment publishing precompile

我们正在使用 Azure Web服务 不是网站)并在其中运行ASP.Net MVC 5.1应用程序。

当我通过Web部署发布网站时,我可以选择“在发布期间预编译”:

enter image description here

当我发布到Azure Web服务时,我无法在任何地方找到此选项。有什么指针吗?

这个想法是预先编译视图,因此首先点击视图不会因为动态编译而受到时间的影响。

我看过Razor Generator,但它不符合我们的需要。我见过很少的其他选择,但在发布阶段编译视图对我们的情况最有意义。

UPD: 仅供我参考,我尝试了David Ebbo suggestedit did not work

1 个答案:

答案 0 :(得分:8)

从Azure服务器上的命令行调用编译器%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1273337584/ROOT似乎会导致编译。临时ASP.Net根目录包含一个目录,这增加了其中包含的文件的大小和数量。然后该站点在编译后重新启动。首页开放表现似乎好多了。

如果我在启动脚本中运行它,它不起作用,因为该站点不可用。我想IIS还没有启动。看着做这样的事情Azure: How to execute a startup task delayed?

对于不同的部署,站点ID似乎没有变化。我想可以从IIS获取站点ID,然后使用它,如果它。

看起来就是这样。有更优雅的方式吗?不明白为什么编译和部署视图文件是一件很麻烦的事。