有没有办法在Azure Web App上预编译ASP.NET MVC视图(特别是通过VSTS的发布管理发布时)?
一旦每个视图被访问一次,页面随后就会快速渲染。但对于用户来说,第一个延迟可能是一个大问题,而且没有办法脚本化每个页面的触摸。
我不确定是否需要更改VSTS的构建/发布过程(我正在使用Visual Studio Build构建步骤和Azure Web应用程序发布任务),或者是否需要在发布后在Azure Web应用程序实例上运行某些东西(或者完全是其他内容)。
看起来在发布后调用aspnet_compiler可能是我需要的(我已经在云服务Web角色中看到了这一点),但我无法做到这一点。
调用
一旦每个视图被访问一次,页面随后就会快速渲染。但对于用户来说,第一个延迟可能是一个大问题,而且没有办法脚本化每个页面的触摸。
我不确定是否需要更改VSTS的构建/发布过程(我正在使用Visual Studio Build构建步骤和Azure Web应用程序发布任务),或者是否需要在发布后在Azure Web应用程序实例上运行某些东西(或者完全是其他内容)。
看起来在发布后调用aspnet_compiler可能是我需要的(我已经在云服务Web角色中看到了这一点),但我无法做到这一点。
调用
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -v "/" -p "d:\home\site\wwwroot"
通过 Azure 门户中的控制台可以很好地执行(并在有错误时找到错误),但对启动时间没有任何影响-第一次访问视图仍然需要很长时间。
所以也许那不是正确的方向。
我看过 RazorGenerator(包括 .MSBuild nuget 包),但我无法完全使其工作,而且我真的不愿意为了在发布时获得预编译而对项目进行如此多的更改。
还要注意,我目前在 VSTS 中使用 TFVC 而不是 Git,因此 Kudu/Git 集成(根据某些文章似乎会触发预编译)对我来说是不可用的。
其他想法?