asp.net-mvc - 在 Azure Web 服务发布期间预编译

标签 asp.net-mvc azure deployment publishing precompile

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

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

enter image description here

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

这个想法是预编译 View ,因此第一次访问 View 不会因为动态编译而受到时间损失。

我看过Razor Generator但它不适合我们的需求。我见过很少的其他选项,但在发布阶段编译 View 对于我们的案例来说最有意义。

UPD: 仅供引用,我尝试过David Ebbo suggestedit did not work .

最佳答案

从 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,然后使用它(如果有的话)。

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

关于asp.net-mvc - 在 Azure Web 服务发布期间预编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22018962/

相关文章:

asp.net - 我如何处理和缩小 asp.net MVC 中的 GZipped 表单帖子?

python - 使用 python 将抓取的数据直接保存到 azure blob 存储

python - 如何在azure中获取容器中所有文件的完整路径

web-services - 如何将 Axis 生成的 soap 服务部署到嵌入式 Tomcat 实例

asp.net-mvc - 如何在asp.net中使用mvc构建购物车?

c# - 无法将 lambda 表达式转换为类型 'int'

azure - 如何减少 Windows Azure 网站上托管的 Orchard CMS 网站的内存消耗

ios - Flutter 构建 iOS 到底做了什么?这真的有必要吗?

GitLab PHP网站部署

c# - 在没有静态 API 的情况下在应用程序启动时配置 AutoMapper v4.2