Windows Azure Web Sites (WAWS) 是在Windows Azure 平台即服務 (PaaS) 架構基礎上構建的服務,該架構簡化了與託管雲應用程式相關的部署、管理和可擴充性任務。
本文中使用 SQL Server 作為資料存放區建立簡單實用的 ASP.NET MVC 4 應用程式,通過樣本理解WAWS 服務的基本元素。 這個簡單的應用程式將支援建立、讀取、更新和刪除 (CRUD) 操作。
配置 WAWS 並產生 ASP.NET MVC 4 應用程式後,我們將使用 Visual Studio 2012將應用部署至雲端。
建立MVC項目
以管理員身份開啟 Visual Studio 2012 並單擊"檔案"|"建立"|"項目"。 從"已安裝的模板"選擇"Web",然後選擇"ASP.NET MVC 4 Web Application"。 命名項目名稱為 MVCAzure.Website,接著您需要選擇項目模板為"Internet 應用程式", 視圖引擎是 Razor。
圖
建立ASP.NET MVC 4 Web 應用程式
在 Visual Studio 方案總管中在 Models 檔案夾下添加資料類別模組,如圖所示。在類別模組中定義的屬性將成為 SQL Database 表結構,本例中Entity Framework簡化對象-關係映射。Entity Framework可實現執行 CRUD 操作而無需編寫複雜的 SQL 陳述式。
圖 將類添加到 Models 檔案夾
在方案總管中選擇 Models 檔案夾,從"Project"菜單中選擇"Add Class…"。將該類命名為 Person。 Person 類將成為 SQL Server 中 Person 表的列。
public class Person
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
ASP.NET MVC 4 應用程式需要controller類來作為視圖和模型之間的橋樑。
在添加Controller類之前,先編譯Project。從"Build"菜單選擇"Build Solution"。在方案總管中,您可以按右鍵 Controllers 檔案夾,然後選擇"Add | Controller"。如所示的"Add Controller"對話方塊,您按如下步驟設定:
- 在"Template"下拉式清單中,選擇"MVC controller with read/write actions and views, using Entity Framework"選項。
- 在"Model class"下拉式清單中,選擇"Person"類。
- 在"Data context class"列表中,選擇<New data context...>。在顯示的對話方塊中,將名稱設定為 PersonContext,然後單擊"OK"。
- 在"Views"下拉式清單中,確認選擇"Razor"。
- 單擊"Add"以完成此過程。
圖 添加 MVC Controller類
雲端部署 建立WEB SITES服務
您可以使用連續傳遞架構(如 Git 或 TFS)或簡單工具(如 FTP )來部署網站。 在本文中,我們將使用 Visual Studio 中的Web 部署。
登入Windows Azure管理入口網站,登入到此 URL: manage.windowsazure.com 。 然後單擊瀏覽器視窗左側的"WEB SITES"連結。 接著,單擊"NEW | COMPUTE | WEB SITE | QUICK CREATE",鍵入所需的 URL,。在此我們使用了 mymsdnmagazine,這意味著我們的網站位於 http://mymsdnmagazine.azurewebsites.net。注意URL的名稱是唯一的。
圖Windows Azure 網站部署的快速配置
部署應用程式的關鍵步驟是擷取發行設定檔,該檔案包含 Visual Studio 將用於執行部署的設定。根據您所用的瀏覽器,您也許可以下載發行設定檔。您應在本地儲存一個副本,供以後在 Visual Studio 中使用它。
配置資料服務
在使 ASP.NET MVC 4 應用程式運行前,需要設定資料庫。
圖 SQL Database
單擊"Add"時,系統將要求您設定登入名稱和密碼,以及希望您的 Windows Azure SQL Database 部署所在的地區。強烈建議您選擇在其中運行 WAWS 的同一資料中心,以最大限度減小延遲時間和避免頻寬費用。
在我們的樣本中,登入名稱為 DBAdministrator。如果您以後要遠程進行操作或需要產生連接字串,這可能很重要。
此處的一個重要目標是保護您的資料庫伺服器資訊,只允許特定的 IP 位址建立入站串連。單擊螢幕頂部的"配置"。您將看到當前的 IP 位址,您可以使用它建立一個規則並直接從該 IP 位址串連到伺服器。
由Visual Studio 執行 Web 部署
現在我們要在剛剛配置的伺服器上建立資料庫。返回 Visual Studio 並選擇"View | Solution Explorer"。按右鍵 MVCAzure.WebSite 並選擇"Publish",將顯示發布 Web對話方塊。
此過程通過嚮導來完成,其中第一步是將發行設定檔載入到 Visual Studio,這樣您可以大大簡化部署過程。您將執行幾個步驟,用於為 ASP.NET MVC 4 應用程式指定發行設定檔的詳細資料,提供有關您要如何在 Microsoft 資料中心內部署應用程式的資訊,其中包括 Windows Azure SQL Database 伺服器的目標 URL 和位置。
通過以下方式指定 ASP.NET MVC 4 應用程式將使用的 Windows Azure SQL Database 伺服器:單擊對話方塊左側的Setting,然後單擊 PersonContext 旁邊的省略符號,。
圖
設定資料庫串連
現在您將需要輸入在建立資料庫伺服器時的資訊。請注意,我們在伺服器名稱前面追加了 tcp。您還需要輸入管理員名稱(我們在前面的步驟中設定的 DBAdministrator)和密碼。
圖 串連到伺服器並建立資料庫
單擊"確定"後,會在您輸入的伺服器上實際建立 SQL Database。系統將要求您確認此步驟。建立資料庫後,您可以從發布 Web 應用程式對話方塊選擇"Publish"。您可以在 Visual Studio 中選擇"View | Output"視窗查看部署期間的步驟。
部署應用程式後,可以輕鬆執行監視、擴充或升級網站等工作,當然首選方法是使用 Windows Azure Portal管理這些任務,該門戶提供可便於使用的儀表板。
總結語
由 Windows Azure PaaS 組件提供的功能與預置的架構(如 WordPress、Drupal、DotNetNuke 和 Umbraco)結合使用,開發人員可以專心致力於構建豐富的 Web 應用程式和資料存放區庫,而將基礎結構任務委託給 Windows Azure 平台來執行。
在 Windows Azure 培訓包 ( http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/ ) 中包含更多Windows Azure開發的技術文檔。
參考文獻
Windows Azure Web Sites: Quick-and-Easy Hosting as a Service
http://msdn.microsoft.com/en-us/magazine/jj883953.aspx