前面花了差不多八章的内容来阐述Windows Azure的概念,从这章还是我们就进入到了实际动手和编码的过程。
Windows Azure 云计算虽然最终是要把应用部署到微软的云数据中心,但是微软还提供了Windows Azure SDK来方便用户通过本地的Visual Studio 2010进行调试,并用Azure Emulator模拟器来模拟Windows Azure的执行情况。
请做好如下准备:
1.安装Windows 7家庭版以上的操作系统,或者安装Windows Server 2008, Windows Server 2008 R2
2.安装IIS7并且配置ASP.NET以及WCF HTTP服务
3.安装微软的Visual Studio 2010专业版或以上的开发工具(或者安装Microsoft Visual Web Developer 2010 Express),并确保您对微软的Visual Studio和C#都有一定的了解。
4.安装SQL Server Express版本
5.安装Windows Azure SDK for .NET (最新的版本是November 2011),下载地址http://www.microsoft.com/download/en/details.aspx?id=28045
6.具体的安装要求请参考微软网站http://www.microsoft.com/download/en/details.aspx?id=28045
安装完毕后,单机桌面上的Visual Studio 2010快捷方式,右键属性,兼容性,以管理员身份运行此程序
那让我们首先做一个简单的Hello World吧!
启动Visual Studio, 选择New Project(新建项目),这时候您会发现我们在C#工程下会有一个Cloud的项目,我把项目名称改成HelloWindowsAzure,再选择"OK"
这时候又弹出窗体"New Windows Azure Project"
选择"ASP.NET Web Role'然后按中间的">"按钮,再选择"Worker Role"并同样按中间的">"按钮
右侧列表出现了WebRole1和WorkerRole1。这就是我之前介绍的Windows Azure的两个Role。
可以看到WebRole1其实是一个ASP.NET Web应用程序。
然后我想改下WebRole1这个solution的名字,我把鼠标移动到"WebRole1"这一行上,出现了"Click to rename the project",并且solution出现输入框方便您输入。
我把这个solution改成MyWebRole,然后按回车保存。(用同样的方法可以修改Worker Role的名字)
保存完毕后按"OK"。
这时候就出现我们所熟悉的Visual Studio Project,在右侧的Solution Explorer(解决方案窗体)我们能看到
在这里我们先改一个配置,展开HelloWindowsAzure工程-->Roles-->MyWebRole-->右键-->属性
会弹出一个新的窗口
我把Instance改成3,VM Size改成Small。
接下来我们视线往下看MyWebRole这个Project
这个项目是一个典型的ASP.NET工程,里面有着我们非常熟悉的ASPX, ASPX.cs, Global.asax, Web.config等等
但是多了一个WebRole.cs文件,我会在后面几章详细介绍。
最后就是WokerRole1这个项目,这项目有个叫WorkerRole.cs文件,我们双击打开,内容是这样的:
我们进入到Run这个函数,做一下修改,如下图红色区域
然后按F5执行,这时候会出现空的ASP.NET页面.
这个页面就是我们在MyWebRole Project设置的启动页面。注意Web Role实际只是用来展示的,展示的内容就是我们的ASPX页面。
表示页面执行成功。并且启动的过程中桌面的右下角出现一个Windows图标:
我打开任务栏,对着这个图片,鼠标右键,选择"Show Compute Emulator UI"
会出现Windows Azure Comput Emulator,计算模拟器
以此展开deploymenet(505), HelloWindowsAzure,WorkerRole,会看到红色的区域,表示模拟器模拟出三个独立的计算节点运行的情况,我们可以选择某个绿色的计算节点来进行切换:
然后我们把鼠标移到WorkerRole1并选择绿色的"0"
仔细看上图我标的黄色区域:Information区域每10秒输入一段文字,执行的内容是WebRole.cs中的函数:
代码片段里Thread.Sleep(10000)表示每10000毫秒(10秒)执行一次函数体里的内容。
我们发现其实Worker Role就像是Windows Service一样,没有界面,在后台默默地执行。当然你也可以改变Thread.Sleep(10000),修改每次执行的时间。
好了关于这部分的内容就到这里了,本章的内容和截图都非常多,希望大家都能下载微软的Windows Azure SDK来进行实际的开发,如果有问题可以发我站内的信件,谢谢!