共计 3062 个字符,预计需要花费 8 分钟才能阅读完成。
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