将ASP.NET Web应用程序部署到Windows Azure Web Site和SQL 数据库
此教程演示如何在Visual Studio 2012或者 Visual Studio 2012 for Web Express里使用Publish Web向导将一个ASP.NET web应用程序部署到Windows Azure Web Site。如果你喜欢,也可以用Visual Studio 2010 或者 Visual Web Developer Express 2010,本教程也一样适用。
你可以免费创建一个Windows Azure 账号,如果还没有装 Visual Studio 2012,,SDK 会自动安装Visual Studio 2012 for Web Express。所以你可以完全免费就开始开发 Windows Azure 了。
此教程假设你之前完全没有使用过 Windows Azure的经验。要完成此教程,你必须要有一个使用云数据库的数据驱动web应用程序运行在云上。
你将学到:

要完成此教程,需要 一个已经启用了Windows Azure Web Sites功能的Windows Azure 账号。
开始之前,先安装Windows Azure SDK for the .Net Framework来建立开发环境。(如果你已经安装了 Visual Studio 或者 Visual Web Developer,那么此教程里 SDK 就不是必须的了。如果你遵循此教程末尾处的建议,想要了解更多的话,那SDK就必要了。)

当安装完成后,你已经具备了开始开发的所有条件。
下一步要创建你的程序要用到的 Windows Azure 网站和 SQL 数据库。
SQL 数据库是一个基于云的关系型数据库服务,它建立在SQL Server技术上。用在SQL Server的工具和程序同样适用于SQL 数据库。





你已经创建了一个 Windows Azure Web Site,但里面还没有任何内容。下一步你要创建Visual Studio web 应用程序项目并发布到 Windows Azure。







至此,要部署到Windows Azure的应用程序就已经创建好了。稍后你将为它添加数据库功能。













接下来,你将更新MVC应用程序,添加显示和更新to-do列表项以及存储数据到数据库的功能。应用程序将使用 Entity Framework 来创建数据库并读取和更新数据。
用代码创建一个简单的数据模型。


用以下的代码替换 ToDoItem.cs 文件里的内容.

enable-migrations 命令创建一个Migrations 文件夹和一个 Configuration 类, Entity Framework 用它来控制数据库更新。
add-migration Initial 命令生成一个名为 Initial 的类来创建数据库。你可以在 Solution Explorer(解决方案资源管理器)里看到新的类文件。
在 Initial 类里, Up 方法创建 ToDoItems 表, Down 方法 (当你想返回到前一个状态时使用) 把它删掉:
最后, update-database 运行这个首次迁移,也就是创建数据库。默认地,数据库创建为一个 SQL Server Express LocalDB 数据库。 (除非你安装了,那样的话数据库就使用SQL Server Express 实例进行创建。)
在ASP.NET MVC 脚手架功能里可以自动生成执行创建,更新读取和删除操作的代码。



ViewBag.Title = "Index", 和 h2 头处, 将"Index" 改为"To Do Items".


要发布应用程序,只需重复先前的步骤,加上一步配置数据库部署。




程序现在已经运行在云端,使用SQL数据库来存储数据了。
如果你计划使用ASP.NET程序作为Windows Azure Web Sites的话,下面是你要注意的事项:
你已经知道如何部署web应用程序到 Windows Azure Web Site了。要了解更多如何配置,管理和扩展 Windows Azure Web Sites, 点此查看 Common Tasks 。
要了解如何部署应用程序到 Windows Azure Cloud Service, 点此产看 The Cloud Service version of this tutorial 和Developing Web Applications with Windows Azure。将ASP.NET web应用程序运行在Windows Azure Cloud Service而不是Windows Azure Web Site可能包括以下原因:
在Windows Azure应用程序里存储数据的另一个方法是使用 Windows Azure Storage Services, 它提供了以blobs和表形式的非关系型数据存储。to-do列表程序本可以设计为使用 Windows Azure Storage 而不是 SQL 数据库。 想了解更多关于 SQL 数据库和 Windows Azure 存储, 点此查看 Data Storage Offerings on Windows Azure.
要了解更多关于如何适用 SQL 数据库, 见以下资源:
你可能想使用 ASP.NET 成员系统在 Windows Azure里. 想了解更多关于如何使用 Windows Azure 存储 或者SQL 数据库用于成员数据库,点此查看 Real World: ASP.NET Forms-Based Authentication Models for Windows Azure.
想了解更多关于 Entity Framework 和 Code First 迁移, 见以下资源:
原文地址:https://www.windowsazure.com/en-us/develop/net/tutorials/web-site-with-sql-database/