您的位置:知识库 » .NET技术

云计算之旅5—实战第一个云程序

作者: 圣殿骑士  来源: 博客园  发布时间: 2010-09-12 13:10  阅读: 3217 次  推荐: 0   原文链接   [收藏]  
摘要:通过这篇文章,我们对云计算有了一个较清晰的认识,了解了它究竟是什么、究竟能做什么以及如何做。如果大家清楚了这些问题,也就达到了本篇预期的效果,同时也为系列后面的文章打下了基石,所以希望对大家能有所帮助。
[1] 云计算之旅5—实战第一个云程序
[2] 云计算之旅5—实战第一个云程序
[3] 云计算之旅5—实战第一个云程序
[4] 云计算之旅5—实战第一个云程序

  四,微软的云平台

  虽然我们不能亲自开发一个云平台,但是我们可以使用并体验云平台给我们带来的好处,在这个过程中我们也可以通过具体使用、深入分析、再次使用、回归总结的方式来逐步深化我们的认知程度,这样循环往复以后就从中获得预期的收益。我们这个系列目前主要研究微软的云平台——Windows Azure Platform,它是微软完整的云计算平台,目前包含了如下三大部分(详细介绍见云计算之旅4—Windows Azure总览 ):

WindowsAzure

  ◆Windows Azure:运行在云中的操作系统,对于用户来说是虚拟且透明的,其中提供了Compute(计算),Storage(存储),以及Manage(管理)这三个主要功能及其底层服务,使用起来相当的便捷。
  ◆SQL Azure:运行于云中的一个关系数据库,和SQL Server 2008类似,但是在功能上还没有那么强大。
  ◆AppFabric:全名是Windows Azure platform AppFabric,提供了访问控制、服务总线等服务,主要用于把基础应用连接到云中。

  四. 开发工具

  俗话说“工欲善其事,必先利其器”。我们在开发一个任何一个程序之前都需要了解开发它的工具,使用了开发工具之后总能起到事半功倍的效果,这一点是无需置疑的,毕竟命令行、汇编、记事本的方式是需要大量的时间和精力,而且调试和异常跟踪等也极为困难。针对微软的windows azure的开发工具很简单,我们在安装了VS2008或VS2010、SQL Server 2005/2008/2008 R2后,再安装一个扩展的工具包就可以进行云应用的开发了,这个扩展工具包是:Windows Azure Tools for Microsoft Visual Studio 1.2 (里面包含Windows Azure SDK和Visual Studio集成),其下载的地址是:
http://www.microsoft.com/downloads/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&displaylang=en

  这个版本是2010年6月发布,其中包括Windows Azure Tools + SDK,所以安装了它以后就不需要再安装其他的软件了,其中功能包括:

◆新特性支持:对Visual Studio 2010 RTM的完全支持,这样我们就可以使用最新的模板和强大的新特性。
◆多版本支持:.NET 4 的支持使得开发者构建服务时具有选择.NET 2.0、.NET 3.0、.NET 3.5 或者 .NET 4 框架的灵活性。
◆应用可视化:通过在Visual Studio Server Explorer中显示Windows Azure table 和blob容器的只读视图,我们可以用视图的方式预览我们所创建的应用。 Cloud storage explorer也使得开发者能更轻松的构建出更优秀的服务。
◆整合部署:开发者只需在Visual Studio Solution Explorer中选择"Publish"便能直接部署服务,这个在1.1版本也提供了。
◆服务监控:帮助开发者通过在Server Explorer中的'compute'节点来追踪和管理其服务状态。
◆调试简便:IntelliTrace 支持运行于云端的服务,简化了对于云端服务的调试。

  其实使用VS 2008 和VS2010开发云程序的过程没有本质上的区别,主要是VS 2010提供了云应用的开发、调试、部署、管理的整套工具,如开发云计算程序模式、开发云计算的项目模板、离线测试云计算项目、云计算部署等等功能的支持,这些功能都缩短了云应用的开发周期,在很大程度上提高了开发效率,因此我们在很多时候会使用VS 2010来开发云应用,当然为了照顾部分使用VS 2008的朋友,我们也会尽量提供两个版本。

  五. 第一个简单程序

  步骤一:创建云项目

   正所谓“千里之行始于足下”。安装了开发工具之后,我们就来创建第一个应用程序,由于我安装的是windows 7操作系统,所以用管理员权限打开Visual Studio 2008,如果是XP等操作系统,直接运行Visual Studio 2008即可,因为之前我们已经安装了Windows Azure Tools for Microsoft Visual Studio 1.2,所以你就会看到下图模板中多了一个Cloud的选项(图中标记1),点击Cloud选项,选择Windows Azure Cloud Service模板(图中标记2),命名项目为FirstCloudApp,点击OK按钮创建我们的项目:

1

图3

  在弹出窗口出现后,按照下图所示,分别点击标签1的ASP.NET Web Role和标签2的“>”按钮。该步骤会在右边窗口中生成一个新的WebRole项,此时你可以点击标签4的笔形图标,然后改变该Web Role名字,同时你也可以点击标签5的小叉删除新建的项,操作完之后点击OK按钮即可。

2

图4

  步骤二:观察生成的云项目

   项目结构如下图所示:

Untitled5

图5

  由项目结构图我们可以看到云项目和普通的ASP.Net项目的差别,ASP.Net Web Role云项目会产生一个云应用的项目和一个ASP.Net的项目,云应用项目对ASP.Net项目进行引用,同时云应用项目中还包含服务程序文件和服务配置文件,这两个文件在配置、运行和部署云应用时将要用到,没有这两个文件,也就没有我们的云程序。大家也可以通过这些配置文件来具体定制化我们的应用,在下一次课程中,我们也会详细讲解这个程序文件的内部原理以及注意事项。

  编辑Default.aspx页面,添加一些简单的测试信息,代码如:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebRole1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head runat="server">
<
title></title>
</
head>
<
body>
<
form id="form1" runat="server">
<
div>
<
div>
<
img alt="" src="2010-8-22%2011-55-50.png" style="width: 314px; height: 155px" /><br />
</
div>
<
div style="font-size: x-large; color: #FF0000">
圣殿骑士已经在云上了!!!</div>
</
div>
</
form>
</
body>
</
html>

  步骤三:解决运行错误问题

  按F5键开始调试程序。由于没有安装SQL Server Express,所以会看到下图所示的错误信息:

err1

图6

  那么我们可以使用VS 2010的安装文件添加安装来解决这个问题,同时你也可以通过命令行的方式来解决,在开始菜单中点击Windows Azure SDK Command Prompt进入命令行窗口,如下图:

Untitled1图7

  在如下的命令行窗口输入DSInti /sqlInstance:.(意思是:“DSInit /sqlinstance:你的sql instance名字”,我们这里本机,所以是.)

err3 (2)

图8

  然后点击下面的OK按钮,重新运行程序即可。

err3 (1)

图9

  步骤四:再次运行程序,得到正确结果

  再次运行程序,你将会看到下面的页面,这表示你创建的windows azure的程序可以正常运行并得到了你想要的结果,如果你比较细心,你会发现它是借用本地的IIS来Host的,地址是:http://127.0.01:81/Default.aspx

4

图10

  经过上面的步骤,我们已经创建了第一个云程序,接下来要做的就是部署到所谓的云上面去了。

  步骤五:观察本地云模拟器

  如果你足够细心的话,会发现任务栏里多了一个程序的图标,见下图1标记:

Untitled2

图11

  这个就是dev Fabric和dev Storage的管理器。也就是传说中的云端模拟器,这个模拟器可以让我们在本地测试自己的程序是否能够在Windows Azure Platform上正常运行。一般情况下如果在本地测试通过的程序,上传到Windows Azure Platform上就可以正常运行,但是也有一些特殊的情况,我们在后面会讲到。点击上图的2标记,就进入下图的dev Fabric管理器:

Untitled3

图12

  从上图的dev Fabric管理器可以看到我们当前运行的程序以及执行的状态,这个可以帮助我们进行跟踪和调试。

  点击图11的3标记,就进入下图的dev Storage管理器,Windows Azure为应用程序提供了Blobs,Tables和Queues三种存储机制,你可以在这个界面来开启或者关闭某种存储机制。

Untitled4

图13

  对于上面这些功能,我们在这篇不会做过多的探讨,以后会在专门的文章中做详细介绍。

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻