Windows Azure Web Sites (WAWS) 是在Windows Azure 平台即服务 (PaaS) 框架基础上构建的服务,该框架简化了与托管云应用程序相关的部署、管理和可扩展性任务。

本文中使用 SQL Server 作为数据存储创建简单实用的 ASP.NET MVC 4 应用程序,通过示例理解WAWS 服务的基本元素。 这个简单的应用程序将支持创建、读取、更新和删除 (CRUD) 操作。

配置 WAWS 并生成 ASP.NET MVC 4 应用程序后,我们将使用 Visual Studio 2012将应用部署至云端。

 

 

以管理员身份打开 Visual Studio 2012 并单击"文件"|"新建"|"项目"。 从"已安装的模板"选择"Web",然后选择"ASP.NET MVC 4 Web Application"。 命名项目名称为 MVCAzure.Website,接着您需要选择项目模板为"Internet 应用程序", 视图引擎是 Razor。

 

使用Windows Azure Web Sites构建托管的WEB应用

使用Windows Azure Web Sites构建托管的WEB应用


创建ASP.NET MVC 4 Web 应用程序

 

Visual Studio 解决方案资源管理器中在 Models 文件夹下添加数据类模块,如所示。在类模块中定义的属性将成为 SQL Database 表结构,本例中Entity Framework简化对象-关系映射。Entity Framework可实现执行 CRUD 操作而无需编写复杂的 SQL 语句。

使用Windows Azure Web Sites构建托管的WEB应用


图 将类添加到 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"对话框,您按如下步骤设置:

  1. "Template"下拉列表中,选择"MVC controller with read/write actions and views, using Entity Framework"选项。
  2. "Model class"下拉列表中,选择"Person"类。
  3. "Data context class"列表中,选择<New data context...>。在显示的对话框中,将名称设置为 PersonContext,然后单击"OK"
  4. "Views"下拉列表中,确认选择"Razor"
  5. 单击"Add"以完成此过程。

 

使用Windows Azure Web Sites构建托管的WEB应用


图 添加 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 Web Sites构建托管的WEB应用

Windows Azure 网站部署的快速配置

 

部署应用程序的关键步骤是获取发布配置文件,该文件包含 Visual Studio 将用于执行部署的设置。根据您所用的浏览器,您也许可以下载发布配置文件。您应在本地保存一个副本,供以后在 Visual Studio 中使用它。

 

配置数据服务

在使 ASP.NET MVC 4 应用程序运行前,需要配置数据库。

使用Windows Azure Web Sites构建托管的WEB应用


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 旁边的省略号,如图所示。

使用Windows Azure Web Sites构建托管的WEB应用


配置数据库连接

 

现在您将需要输入在创建数据库服务器时的信息。请注意,我们在服务器名称前面追加了 tcp。您还需要输入管理员名称(我们在前面的步骤中设置的 DBAdministrator)和密码。

使用Windows Azure Web Sites构建托管的WEB应用

图 连接到服务器并创建数据库

 

单击"确定"后,会在您输入的服务器上实际创建 SQL Database。系统将要求您确认此步骤。创建数据库后,您可以从发布 Web 应用程序对话框选择"Publish"。您可以在 Visual Studio 中选择"View | Output"窗口查看部署期间的步骤。

部署应用程序后,可以轻松执行监视、扩展或升级网站等工作,当然首选方法是使用 Windows Azure Portal管理这些任务,该门户提供可易于使用的仪表板。

 

总结语

Windows Azure PaaS 组件提供的功能与预置的框架(如 WordPressDrupalDotNetNuke 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

 

相关文章: