2014-02-25 27 views
12

我們使用Azure的Web服務不是Web網站)並運行ASP.Net MVC裏面的5.1應用程序。預編譯期間Azure的Web服務發佈

當我發佈通過Web部署的網站,我有一個選項,「出版過程中預編譯」:

enter image description here

當我發佈到Azure的Web服務,我無法找到這個選項任何地方。任何指針?

這個想法是預先編譯視圖,所以首先打到一個視圖不會因爲即時編譯而受到時間懲罰。我看過Razor Generator但它不符合我們的需要。我已經看到了其他幾種選擇,但是在發佈階段編輯視圖對我們的案例最有意義。

UPD: 只是供我參考,我已經試過什麼David Ebbo suggestedit did not work

+0

你可以嘗試通過DropBox發佈嗎? –

+0

@AkashKava你不能通過Dropbox發佈網絡服務。 Dropbox僅適用於與網絡服務不同的Web站點 – trailmax

+0

Mr. Downwoter,請解釋一下自己。這個問題有什麼問題? – trailmax

回答

7

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

如果我在啓動腳本中運行它,它不起作用,因爲該網站不可用。我猜IIS還沒有啓動。看着做這樣的事情Azure: How to execute a startup task delayed?

網站ID似乎並沒有改變不同的部署。我想可以從IIS中獲取網站ID,然後使用它,如果它。

看起來像這樣。有更優雅的方式嗎?不明白爲什麼編譯和部署視圖文件是件麻煩事。

+0

我在啓動腳本中通過等待util運行這個'Get-Website'返回一些東西。然後我知道IIS配置器已經完成了它的工作。我不是100%確定它是否有幫助,但我也在預編譯過程中停止IIS。 –