Asp.net

在 Azure Web App 上預編譯 ASP.NET MVC 視圖

  • May 12, 2016

有沒有辦法在 Azure Web 應用程序上預編譯 ASP.NET MVC 視圖(特別是在通過 VSTS 上的發布管理髮佈時)?

一旦每個視圖都被點擊一次,頁面隨後會非常快速地呈現。但是第一次延遲對使用者來說可能是個麻煩事,而且沒有辦法編寫觸摸每個頁面的腳本。

我不確定是否需要更改 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 門戶中的控制台執行得很好(如果有錯誤,會發現錯誤),但對啟動時間沒有任何影響 - 第一次點擊視圖仍然需要很長時間。

所以也許這不是正確的方向。

我查看了 RazorGenerator(包括 .MSBuild nuget 包),但我無法完全讓它工作,但實際上我很猶豫是否對項目進行如此多的更改,只是為了在發佈時進行預編譯。

另請注意,我目前在 VSTS 中使用的是 TFVC,而不是 Git,因此據我所知,我無法使用 Kudu/Git 集成(根據某些文章,這似乎觸發了預編譯)。

其他想法?

您可以在“Visual Studio Build”步驟中添加“/p:PrecompileBeforePublish=true”參數: 在此處輸入圖像描述

然後該任務將在建構過程中呼叫 aspnet_compiler 並生成預編譯輸出用於部署。

引用自:https://stackoverflow.com/questions/37193420