Asp.net-Mvc

在發布期間為 Azure Web 服務預編譯

  • March 4, 2014

我們正在使用Azure Web 服務不是網站)並在其中執行 ASP.Net MVC 5.1 應用程序。

當我通過 Web-deploy 發佈網站時,我可以選擇“在發布期間預編譯”:

在此處輸入圖像描述

當我發佈到 Azure Web 服務時,我在任何地方都找不到這個選項。任何指針?

這個想法是預編譯視圖,因此第一次點擊視圖不會因即時編譯而受到時間懲罰。

我看過Razor Generator,但它不適合我們的需求。我見過很少的其他選擇,但在發布階段編譯視圖對我們的案例最有意義。

UPD: 僅供參考,我嘗試了David Ebbo 的建議但沒有奏效

從 Azure 伺服器上的命令行呼叫編譯器%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1273337584/ROOT 似乎會導致編譯。臨時 ASP.Net 根目錄包含一個目錄,這增加了其中包含的文件的大小和數量。該站點然後在編譯後重新啟動。第一頁打開性能似乎要好得多。

如果我在啟動腳本中執行它,它就不起作用,因為該站點不可用。我猜IIS還沒有啟動。看著做這樣的事情Azure:如何延遲執行啟動任務?

對於不同的部署,站點 ID 似乎沒有變化。我想可以從 IIS 中獲取站點 id,然後使用它。

所以看起來就是這樣。有沒有更優雅的方式?不明白為什麼編譯和部署視圖文件是一件苦差事。

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