探索用于 Windows Azure 的 Visual Studio 2010 工具:教程





0/5 (0投票)
在本文中,我将向您展示可用于创建、测试并最终发布到云端的解决方案的工具和技术。
Windows Azure 是 Microsoft 的云操作系统。集成到 Visual Studio 中的工具使得熟悉 .NET 开发的开发人员能够快速轻松地采用 Windows Azure。这些工具提供了一种简化的方法来创建、开发和发布云项目,以及查看存储数据。
首先,您必须安装某个版本的 SQL Server – 可以是 SQL Server 2008 的任何版本,或 SQL Server Express 2005。这是用于在本地测试应用程序时模拟云存储的。如果您已安装 VS2010,则 SQL Server 应该已自动安装。
接下来,您需要下载并安装 Windows Azure 工具和 SDK。您可以在此处找到 Windows Azure 工具和 SDK:http://www.microsoft.com/windowsazure/getstarted/
注意:当您在下方选择“文件”->“新建项目”并开始一个云项目时,如果未安装 Azure 工具,Visual Studio 将下载最新的 Azure 工具。请参见下面的屏幕截图,以了解 Azure 工具未安装时的示例。
Visual Studio 工具增加了创建云项目、在本地进行测试并发布到 Windows Azure 的能力。让我们开始以管理员模式运行 Visual Studio。
选择“文件”/“新建项目”。在“Visual Basic”或“Visual C#”下,您现在应该会看到一个名为“Cloud”的类别,如图 1 所示。单击它,填写底部的信息,然后单击“确定”。
接下来,系统将提示您选择要使用的角色类型。这将托管实际代码。角色只有两种类型——Web 角色和工作角色。Web 角色默认使用 IIS,而工作角色则不使用。因此,如果您要创建一个 Web 应用程序或 WCF 服务,则应使用 Web 角色。
工作角色更多用于处理。我曾在以前在服务器上运行 Windows 服务的情况下使用它们。例如,如果您正在将 wav 文件转换为 MP3 异步处理,您可以将其提交给工作角色,让它为您完成。
选择一个 ASP.NET Web Role。在右侧,如果您将鼠标悬停在第一行上,右侧会出现一支铅笔 – 单击它以编辑 Web Role 的名称。我将我的 Web Role 命名为“AwesomeWebApp”,而不是“WebRole1”,如图 2 所示。
单击“确定”后,您应该会看到类似于图 3 的内容。
有两个项目。AwesomeWebApp 是 Web 角色。这是将在 Windows Azure 上的实例中实际运行的内容。第二个是云项目。它包含角色本身以及服务配置和服务的定义文件。这些文件适用于正在运行的所有角色实例。让我们首先看一下服务配置。
在图 4 中,我更改了两项内容。osFamily 值决定实例是运行 Windows Server 2008 (osFamily = “1”) 还是 Windows Server 2008 R2 (osFamily = “2”)。我总是想运行最新版本,所以将其更改为后者。我还添加了一些其他设置。您可能希望将一些设置从网站的 web.config 文件移到服务配置中,因为您可以在实例运行时修改服务配置文件,但不能修改 web.config 文件——您必须完全重新部署应用程序才能使对 web.config 的更改生效。例如,我将性能计数器记录频率的设置放在服务配置中,这样我就可以在不需要重新发布整个项目的情况下提高或降低它。
服务定义只是服务配置文件中变量的定义。我的显示在图 5 中。
您也可以通过角色属性编辑服务配置的值。要查看如图 6 所示的角色属性,只需在解决方案资源管理器中双击该角色即可。
在这里,您可以设置角色的基本属性,包括实例数量和要使用的 VM 大小。您还可以为诊断程序指定连接字符串,诊断程序默认存储在 Windows Azure 存储中。您可以使用“Endpoints”选项卡来管理应用程序的终结点。
“Certificates”选项卡用于指定在使用 https 终结点和/或启用对角色实例的 RDP 访问时使用的 SSL 证书。“Local Storage”用于为每个实例配置本地文件系统存储资源,以及在角色回收时是否清除它们。
与其在 XML 中编辑配置设置,不如使用如图 7 所示的“Settings”选项卡中的网格来编辑您已定义设置的值,并添加新设置。如果您在此处添加新设置,它会自动添加到服务定义中。
在 Visual Studio 中按 F5 键即可运行您的 Windows Azure 实例,就像您运行 Visual Studio 中的任何其他应用程序一样。这将在“开发环境”中运行角色实例,该环境模拟生产环境。请注意,仅仅因为某些东西在开发环境中有效,并不意味着您可以 100% 确定它将在您发布到 Windows Azure 时运行,但它能让您接近目标,而且使用它是免费的。
您的浏览器应该会打开,显示您正在运行的 Web 应用程序。
您会在系统托盘中看到 Windows Azure 图标。右键单击它,您可以查看 Windows Azure 计算模拟器(您可以在其中看到您的角色正在运行或未运行,具体取决于情况)。我的显示在图 8 中。
从这里,您可以将调试器附加到实例,查看每个实例启动的日志,并管理开发环境中的服务(重新启动、停止、启动等)。您还可以获取服务的 IP 地址,以防您没有在角色属性中选中在服务启动时自动启动 http 页面的复选框。
如果您查看存储模拟器,您应该会看到类似于图 9 的内容。
这提供了存储的终结点(如果您需要它们),并允许您管理开发表存储(单击“Reset”可以清除它)。
让我们将应用程序发布到云端。首先,进入“Settings”并设置 Windows Azure Storage 的连接字符串,使其指向您在 Windows Azure 中的存储。然后右键单击云项目并选择“Publish”。您将看到如图 10 所示的对话框。
如果您的角色以 .NET 4 Framework 为目标,并且您正在运行 Visual Studio 2010 Ultimate,您将能够为您的角色启用 Intellitrace。如果这样做,您就可以看到 Intellitrace 输出并用它来调试您的角色。
如果您选择显示“Configure Remote Desktop connections…”的蓝色链接,您可以配置角色以允许您使用远程桌面连接到实例并在其启动完成后登录。您需要创建一个证书并将其上传到您的托管服务,然后才能执行此操作。我现在将跳过此步骤并单击“OK”。
Visual Studio 将构建解决方案,创建服务包,上传它,创建新的 VM,并将包部署到它。您可以在 Visual Studio 的 Windows Azure Activity Log 中看到其进度,如图 11 所示。成功完成后,将显示“Complete”。
您也可以在 Windows Azure Portal (http://windows.azure.com) 中查看进度,如图 12 所示。
门户可用于管理您的所有服务和存储帐户。您也可以通过门户编辑部署的服务配置。如果您配置了 RDP,您将在此处连接到您的实例。
在您的角色成功发布后,您应该能够通过浏览器打开 URL 并看到您的 Web 应用程序在云中运行。您实际上可以单击 Windows Azure Activity Log 中的链接(当角色完成时),如图 13 所示。
您还会看到一个名为“Open in Server Explorer”的链接。如果您单击该链接,Server Explorer 将在 Visual Studio 中显示,您将能够看到您的实例正在运行,如图 14 所示。
您还可以在 Server Explorer 中查看您的 Windows Azure Storage。您可能需要将您的存储帐户添加到列表中 – 只需右键单击“Windows Azure Storage”并选择“Add New Storage Account”。系统将提示您输入凭据,然后您就可以查看内容了。内容是只读的。您可以查看 Blob 和表中的行。
总而言之,Microsoft 提供了一个开发环境,通过将工具集成到 Visual Studio 2010 中,使 .NET 开发人员能够轻松地为 Windows Azure 进行开发。您可以立即在 www.microsoft.com/cloud/windowsazure 注册免费试用。