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