发布 Azure Web Services 时进行预编译

16
我们正在使用Azure Web服务(而不是网站),并在其中运行ASP.Net MVC 5.1应用程序。当我通过Web-deploy发布网站时,我有一个“发布期间预编译”的选项:

enter image description here

当我发布到Azure Web服务时,我无法在任何地方找到此选项。有什么建议吗?
这个想法是预编译视图,因此第一次访问视图不会因实时编译而浪费时间。
我已经查看了Razor Generator,但它不适合我们的需求。我看到了其他几个选项,但在发布阶段编译视图对我们的情况最有意义。 更新: 仅供参考,我尝试了David Ebbo建议的,但它没有起作用

你可以尝试通过DropBox发布吗? - Akash Kava
@AkashKava 你无法通过 Dropbox 发布 Web 服务。Dropbox 仅用于网站,这与 Web 服务不同。 - trailmax
唐沃特先生,请解释一下。这个问题有什么问题吗? - trailmax
1个回答

9

从命令行调用Azure服务器上的编译器%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1273337584/ROOT似乎会导致编译。临时ASP.Net根目录包含一个目录,其中包含的文件数量和大小会增加。编译后,网站将重新启动。第一页打开性能似乎要好得多。

如果我在启动脚本中运行它,由于网站不可用,所以它不起作用。我猜IIS还没有启动。看看像这样做Azure:如何延迟执行启动任务?

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

所以看起来就是这样。有更优雅的方法吗?不明白为什么编译和部署视图文件是如此麻烦。


我通过等待Get-Website返回结果来在启动脚本中运行此操作。然后我知道IIS配置程序已经完成了它的工作。我不确定这是否有帮助,但在预编译过程中也停止了IIS。 - Jeff Sharp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接