Asp.net-Mvc
在發布期間為 Azure Web 服務預編譯
我們正在使用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,然後使用它。
所以看起來就是這樣。有沒有更優雅的方式?不明白為什麼編譯和部署視圖文件是一件苦差事。
