有没有一种方法可以预编译Azure Web App上的ASP.NET MVC View (特别是通过VSTS上的发布管理发布时)?
一旦每个 View 被命中一次,页面随后就会非常快速地呈现。但是对于用户来说,第一次延迟可能是个麻烦,而且无法编写脚本来触摸每个页面。
我不确定是否需要在VSTS的构建/发布过程中进行某些更改(我正在使用Visual Studio Build
构建步骤和Azure Web App
发布任务),或者是否需要在发布之后在Azure Web App实例上运行某些内容(或其他所有内容)。
似乎在发布后找到了某种方法来调用aspnet_compiler
可能是我所需要的(并且我已经看到有关Cloud Services上的Web角色的信息),但是我无法使其正常工作。
呼唤
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -v "/" -p "d:\home\site\wwwroot"
通过Azure门户中的控制台执行就可以很好地执行(并查找错误(如果有的话)),但对启动时间没有任何影响-第一次单击 View 仍需要很长时间。
因此,也许这不是正确的方向。
我查看了RazorGenerator(包括.MSBuild nuget包),但无法完全正常工作,但实际上我很犹豫是否要对项目进行如此多的更改,以便在发布时进行预编译。
还要注意,我目前在VSTS中使用的是TFVC,而不是Git,因此据我所知,Kudu / Git集成(根据某些文章似乎确实触发了预编译)不可用。
还有其他想法吗?
最佳答案
您可以在“Visual Studio构建”步骤中添加“/ p:PrecompileBeforePublish = true”参数:
然后,该任务将在构建过程中调用aspnet_compiler并生成用于部署的预编译输出。
关于asp.net - 在Azure Web App上预编译ASP.NET MVC View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37193420/