前面花了差不多八章的內容來闡述Windows Azure的概念,從這章還是我們就進入到了實際動手和編碼的過程。
Windows Azure 雲端運算雖然最終是要把應用部署到微軟的雲資料中心,但是微軟還提供了Windows Azure SDK來方便使用者通過本地的Visual Studio 2010進行調試,並用Azure Emulator模擬器來類比Windows Azure的執行情況。
請做好如下準備:
1.安裝Windows 7家庭版以上的作業系統,或者安裝Windows Server 2008, Windows Server 2008 R2
2.安裝IIS7並且配置ASP.NET以及WCF HTTP服務
3.安裝微軟的Visual Studio 2010專業版或以上的開發工具(或者安裝Microsoft Visual Web Developer 2010 Express),並確保您對微軟的Visual Studio和C#都有一定的瞭解。
4.安裝SQL Server Express版本
5.安裝Windows Azure SDK for .NET (最新的版本是November 2011),http://www.microsoft.com/download/en/details.aspx?id=28045
6.具體的安裝要求請參考微軟網站http://www.microsoft.com/download/en/details.aspx?id=28045
安裝完畢後,單機案頭上的Visual Studio 2010捷徑,右鍵屬性,相容性,以管理員身份運行此程式
那讓我們首先做一個簡單的Hello World吧!
啟動Visual Studio, 選擇New Project(建立項目),這時候您會發現我們在C#工程下會有一個Cloud的項目,我把項目名稱改成HelloWindowsAzure,再選擇"OK"
這時候又彈出表單"New Windows Azure Project"
選擇"ASP.NET Web Role'然後按中間的">"按鈕,再選擇"Worker Role"並同樣按中間的">"按鈕
右側列表出現了WebRole1和WorkerRole1。這就是我之前介紹的Windows Azure的兩個Role。
可以看到WebRole1其實是一個ASP.NET Web應用程式。
然後我想改下WebRole1這個solution的名字,我把滑鼠移動到"WebRole1"這一行上,出現了"Click to rename the project",並且solution出現輸入框方便您輸入。
我把這個solution改成MyWebRole,然後按斷行符號儲存。(用同樣的方法可以修改Worker Role的名字)
儲存完畢後按"OK"。
這時候就出現我們所熟悉的Visual Studio Project,在右側的Solution Explorer(解決方案表單)我們能看到
在這裡我們先改一個配置,展開HelloWindowsAzure工程-->Roles-->MyWebRole-->右鍵-->屬性
會彈出一個新的視窗
我把Instance改成3,VM Size改成Small。
接下來我們視線往下看MyWebRole這個Project
這個項目是一個典型的ASP.NET工程,裡面有著我們非常熟悉的ASPX, ASPX.cs, Global.asax, Web.config等等
但是多了一個WebRole.cs檔案,我會在後面幾章詳細介紹。
最後就是WokerRole1這個項目,這項目有個叫WorkerRole.cs檔案,我們雙擊開啟,內容是這樣的:
我們進入到Run這個函數,做一下修改,如紅色地區
然後按F5執行,這時候會出現空的ASP.NET頁面.
這個頁面就是我們在MyWebRole Project設定的啟動頁面。注意Web Role實際只是用來展示的,展示的內容就是我們的ASPX頁面。
表示頁面執行成功。並且啟動的過程中案頭的右下角出現一個Windows表徵圖:
我開啟工作列,對著這個圖片,滑鼠右鍵,選擇"Show Compute Emulator UI"
會出現Windows Azure Comput Emulator,計算模擬器
以此展開deploymenet(505), HelloWindowsAzure,WorkerRole,會看到紅色的地區,表示模擬器類比出三個獨立的計算節點啟動並執行情況,我們可以選擇某個綠色的計算節點來進行切換:
然後我們把滑鼠移到WorkerRole1並選擇綠色的"0"
仔細看我標的黃色地區:Information地區每10秒輸入一段文字,執行的內容是WebRole.cs中的函數:
程式碼片段裡Thread.Sleep(10000)表示每10000毫秒(10秒)執行一次函數體裡的內容。
我們發現其實Worker Role就像是Windows Service一樣,沒有介面,在後台默默地執行。當然你也可以改變Thread.Sleep(10000),修改每次執行的時間。
好了關於這部分的內容就到這裡了,本章的內容和都非常多,希望大家都能下載微軟的Windows Azure SDK來進行實際的開發,如果有問題可以發我站內的信件,謝謝!