asp.net - 在 Azure Web App 上预编译 ASP.NET MVC View

标签 asp.net asp.net-mvc azure azure-devops release-management

有没有办法在 Azure Web 应用程序上预编译 ASP.NET MVC View (特别是通过 VSTS 上的发布管理发布时)?

一旦每个 View 被点击一次,页面随后就会很快呈现。但第一次延迟对于用户来说可能会很困难,而且无法编写触摸每个页面的脚本。

我不确定是否需要更改 VSTS 上的构建/发布流程中的某些内容(我正在使用 Visual Studio Build 构建步骤和 Azure Web App 发布任务)或者如果我需要在发布后在 Azure Web App 实例上运行某些内容(或其他内容)。

似乎在发布后找到某种方法来调用 aspnet_compiler 可能是我所需要的(并且我已经在云服务上的 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 Build”步骤中添加“/p:PrecompileBeforePublish=true”参数: enter image description here

然后该任务将在构建过程中调用 aspnet_compiler 并生成用于部署的预编译输出。

关于asp.net - 在 Azure Web App 上预编译 ASP.NET MVC View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37193420/

相关文章:

Azure 端点监控 - 内存使用情况

asp.net - 从 Visual Studio 2010 调试控制台应用程序和 Web API 应用程序

asp.net - 如何识别网站上的唯一用户?

asp.net - Internet Explorer 中的列表框项填充

javascript - Fullcalendar 不在客户端呈现事件

azure - 迁移到 Cloudflare 后网站关闭

linux - Azure VM Linux Ubuntu 备份代理 - 部署失败

c# - ASP.NET Web UI ListView 不会刷新

当选择更多选项时,jQuery 更改事件不会在 IE8 中的多个 <select> 上触发

c# - 是否可以通过序列化将属性应用于对象?