2010-06-07 202 views
4

我已經開始將現有的ASP.NET Web應用程序移植到Windows Azure,並且注意到開發過程非常慢。每次我對代碼進行更改並想查看代碼時,我都必須將其有效地重新部署到本地dev雲(使用Start debugging(F5)或Start without debugging(Ctrl-F5))。時間Visual Studio是完全沒有反應Windows Azure本地開發環境速度

難道我做錯了什麼,或者簡單地事情是如何對Azure的開發

我的規格:?

  • Visual Studio 2008中9.0.30729.1 SP
  • 在.NET 3.5 SP1上運行的5個項目
  • Azure的SDK 1.1(2010年2月)
  • 的一個Web角色
  • 雙核AMD 64機8GB RAM單實例,64位Windows 7,完全修補
  • 主要項目本身是相當大的(3k文件,約200k行),但通常在10-15秒內編譯

回答

2

如果您的Web角色功能有限,則可以將Web項目設置爲VS解決方案中的活動項目並從此處運行。

例如,我的web角色不會調用表存儲,blob存儲等等......它只是產生一些Azure日誌記錄調用並與SQL Azure交互。所以有時我只是將Web項目設置爲VS調試器中的啓動項目,而不是Azure,然後從那裏運行。我已經正確編寫了日誌記錄調用,以檢查Azure在寫入之前是否可用,所以在這種情況下它們不會執行。

當然,如果你用表存儲,隊列,斑點等做很多事情,那麼這不適合你。

1

通常在開發機器中我們只編譯和運行解決方案。對於Azure開發,還有一個額外的步驟,其中特定項目部署在開發結構中,其中涉及將完整網站內容複製到動態創建的部署文件夾。由於您擁有大量文件,因此每次按F5或Ctrl-F5時都需要將所有這些文件複製到新文件夾中。這可能會導致您注意到的延遲。

這種情況也突出了在應用結構上部署解決方案的不靈活性。無論何時您更改網站中的任何內容(靜態或動態),整個站點都必須打包並重新上傳到生產服務器上。

+0

這很煩人。人們用比我的項目大得多的項目來做什麼?我想知道Web角色是否可以在Cassini上運行,因爲表存儲只是oData。一旦我對Azure有了更多的經驗,我會嘗試一下。 – 2010-06-08 18:34:15

+0

是的。我已經看到Cloud9的Azure網絡廣播,其中應用程序被分解了。諸如圖片,html,css等靜態內容與Azure解決方案分開部署。天青網絡應用程序只是鏈接到這些資源 – Chandermani 2010-06-09 06:56:09

0

微軟的Steve Marx有一個blog post關於從Azure中的已安裝VM運行網站。這可能是一種很好的開發模式,因爲您只需更新存儲在blob存儲中的虛擬機的內容,而不必每次都重新部署到結構。

1

在我的情況下,當我將端口從80更改爲其他值時(終點),速度恢復正常。