原文 Windows Azure使用VS 2010的云应用开发过程

作为技术人员,如果在2010还不知道云计算,那么你已经“OUT”了;作为Visual Studio平台的使用者,如果你不知道VS 2010,那么你已经成了“土人”。现在已经有很多的先行者开始尝试在Windows Azure Platform(微软云计算平台)上使用VS 2010开发一些云应用了。在本文中将介绍使用VS 2010开发云应用的过程,不要有太多的担心,只要您熟悉ASP.Net应用程序开发,云应用开发是一个比较容易的过程,而且肯定会给您一个愉悦的开发体验。

在微软云计算平台上能做的云应用开发主要包括三类:Web应用程序、并行计算、分析应用程序,如表1所示:

进行微软云应用的开发,首先需要对开发环境进行配置。在这里我们不打算对JAVA、PHP、RUPY开发环境进行介绍,有关它们的开发环境,感兴趣的读者可以参考SDK里的相关描述。在这里我们只是介绍在Visual Studio平台下如何进行云应用的开发。

VS平台下云应用的开发环境如下所述:

(1)Visual Studio .NET 2008/2010

(2).NET Framework 3.5

(3)Windows Communications Foundation

(4)ADO.NET

(5)ADO.NET Data Services

(6)Web services (REST, SOAP)

(7)XML

(8)ASP.NET

(9).NET security

(10)SQL Server database development

因此我们在安装了VS2008或VS2010、SQL Server 2005/2008/2008 R2后,再安装一个扩展的工具包就可以进行云应用的开发了,这个扩展工具包是:Windows Azure Tools for Microsoft Visual Studio 1.1,其下载的地址是:

http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-9843-4EB40B297AB6&displaylang=en

使用VS 2008 和VS2010开发云应用的过程没有本质区别,但是VS 2010提供了云应用的开发、调试、部署、管理的整套工具,如开发云计算的程序模式、开发云计算的资料模式、开发云计算的项目范本、离线测试云计算项目、云计算部署等等,这些功能都缩短了云应用的开发周期,因此我们将使用VS 2010来开发云应用。注意在开发云应用的过程中,需要安装SQL Server Express,如果没有安装,可以使用VS 2010的安装文件添加安装。

在VS 2010上安装此工具包有2种方式,一种是直接下载安装;另一种是打开Visual Studio 2010,点击“文件”*“新建项目”,选择Visual C#或Visual Basic顶级节点,在窗口右侧已安装模板列表中找到Cloud(云)节点,当你选中这个节点后,你只会看到一个项目模板“启用Windows Azure工具”,双击这个模板,将会在一个新标签窗口中打开一个HTML文档,这个文档提供了下载Windows Azure工具的链接,跟着链接下载并安装Windows Azure工具。安装了此工具包后就能创建云应用项目,如图1所示:

在VS 2010中,云应用开发主要包含5个步骤:创建云服务、配置云服务、生成云服务、运行和调试服务、发布服务,如果有需要使用云存储的应用还包括使用存储服务。在这5个步骤中,前4个步骤是开发云应用的过程,第5步是部署云应用的过程。

(1) 创建云应用程序

Windows Azure提供了一种叫做role的概念,每个role就可以被认为是一段程序,只是这段程序可以同时在一台或者多台机体上运行。每个role可以有多个实例(instance),每个实例就对应一台虚拟机。对同一个role而言,它所有的实例执行的程序都是相同的。现在有两种类型的Role:Worker角色和Web角色。一个Web角色就是运行在IIS上的一个Web应用程序,它可以通过HTTP或HTTPS端点与外界通信,一般来说,Web角色响应请求,执行一个动作,然后等待下一个请求的到来。Worker角色是运行.Net框架代码的后台进程应用程序。

在这里我们使用VS 2010,选择的角色类型是ASP.Net Web Role, 创建一个云应用的演示项目TimeAzure,如图2所示:

创建完成后,修改我们的Web Role1为TimeAzure_WebRole,现在的项目组织如图3所示:

由项目结构图我们可以看到云应用项目和普通的ASP.Net项目的不同,云应用项目会产生一个云应用的项目和一个ASP.Net的项目,云应用项目对ASP.Net项目进行引用,同时云应用项目中还包含服务定义和服务配置文件,这两个文件在配置、运行和部署云应用时将要用到。

在Default.aspx页面里拖入一个Label,命名为Label1,并在Default.aspx里输入如下代码:

<ccid_nobr>

  1. <ccid_code>protected void Page_Load(object sender, EventArgs e)
  2. {
  3. this.Label1.Text = DateTime.Now.ToString();
  4. }

在这里,我们开发云应用的步骤就结束了,整个开发过程和开发ASP.Net没有任何区别,我们无需从零开始学习云应用开发,这也是微软云计算平台的一大优势。

(2) 配置云服务

开发完云应用程序后,我们就需要对应用进行配置。打开ServiceConfiguration.cscfg文件,修改配置文件如下:

<ccid_nobr>

  1. <ccid_code><?xml version="1.0"?>
  2. <ServiceConfiguration serviceName="TimeAzure" xmlns="http://schemas.microsoft.com/ServiceHosting/2
  3. 008/10/ServiceConfiguration">
  4. <Role name="TimeAzure_WebRole">
  5. <Instances count="3" />
  6. <ConfigurationSettings>
  7. <Setting name="DiagnosticsConnectionString" value=
  8. "UseDevelopmentStorage=true" />
  9. </ConfigurationSettings>
  10. </Role>
  11. </ServiceConfiguration>

在服务设置文件中,我们可以定义角色并对角色进行设置,这里使用默认已经创建好的角色,只是设置了实例的数量,由“1”改成了“3”。

(3) 生成云服务

生成云服务和生成普通的ASP.Net程序完全一样,点击Build |Build Solution即可,编译的过程中,会对云应用服务进行打包,生成TimeAzure.csx文件,本地Development Fabric会使用这个.csx文件。

(4) 调试和运行云服务

点击Debug | Start Debugging开始对云应用的测试,如果没有安装SQL Server Express就会出现如图5所示的错误,这也是在前面提到的需要安装SQL Server Express的原因。

设置TimeAzure为启动项目,点击运行或调试,运行或调试云应用的时候会启动本地的Development Fabric,它模拟了Windows Azure的服务。Development Fabric宿驻了你的服务中所有的Web Role和Worker Role的实例。要显示Development Fabric的用户界面,双击系统任务栏中的Development Storage图标,打开窗口如图7所示:

在上图中显示了运行的服务的3个实例,这3个实例也对应了我们在服务设置文件里设置的实例数,点击每一个实例的窗口,可以查看实例的详细信息。注意当停止服务运行或调试,本地Development Fabric和Storage元素不会停止,必须手动从系统工具栏中停止才行。

(5) 发布云服务

生成解决方案后,对应用程序也进行了调试,这些工作完成后就可以发布云应用。值得推荐的一个部署过程是:

 在Windows Azure Development Fabric中使用本地存储,在本地运行云应用程序。

 在Development Fabric中使用Windows Azure存储帐户,在本地运行云应用程序

 在Windows Azure上使用Windows Azure存储帐户运行云应用程序

要发布服务,右键单击TimeAzure项目,然后选择发布,如图8所示:

这将打开Windows Explorer到解决方案文件夹中的Publish文件夹,如图9所示:

在打开publish文件夹的同时打开Azure Services Developer Portal。在这里我们使用Live ID来登录到Azure Services management portal上进行部署,在部署时需要有一个邀请码,关于邀请码的获得,以前的方法是直接在Azure的网站上进行申请。然后就可以登录到Developer Portal并按照向导上传应用程序到Windows Azure,有关上传的步骤这里就不描述了,这是一个向导式的过程,把.cscfg和.cspkg上传就可以了。注意在部署的时候我们可以部署到生产环境或者演示环境,如果只是做一个Demo,那我们就把云应用部署到演示环境上。有关云应用部署的更详细步骤,感兴趣的读者可以参考MSDN:

http://blogs.msdn.com/b/azchina/archive/2010/02/18/webrole.aspx

部署完成后,打开界面类似图10所示:

部署完成后,就可以点击Run来运行我们的云应用,这样所有的机器就可以通过Internet来访问我们的云应用了。

小结

单纯从开发应用程序的过程来看,开发云应用和ASP.Net应用没有太多区别,这对广大的ASP.Net程序员来说是一大福音。VS 2010 是开发云应用的一大利器,使用它您可以很轻松地开发、配置、调试、部署云应用。您还等什么呢,赶快开始您的云计算之旅吧!

Windows Azure使用VS 2010的云应用开发过程的更多相关文章

  1. Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式

    <Windows Azure Platform 系列文章目录> 这是笔者在之前的项目中遇到的问题,做一下总结,给网友做参考. 在一般情况下,Visual Studio开发的Cloud Se ...

  2. 基于Windows Azure 安装 SharePoint 2010简体中文语言包

    在Windows Azure上安装的Windows Server默认是英文版本的,当时安装的SharePoint也是英文版的,为方便使用,决定安装中文的语言包,具体过程如下: 1. 安装 Window ...

  3. 将 Java Spring Framework 应用程序迁移到 Windows Azure

    我们刚刚发布了一个新教程和示例代码,以阐述如何在Windows Azure中使用 Java 相关技术.在该指南中,我们提供了分步教程,说明如何将 Java Spring Framework 应用程序( ...

  4. Windows Azure Storage

    之前都是在博客园看别人的文章,今天开始就开启自己的博客咯,欢迎阅读,共同探讨! 简单点说Widows Azure Storage就是一个大的网盘,可以让用户存储任何想存储的数据,数据一旦存储到“云”中 ...

  5. Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)

    Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...

  6. 在 Windows Azure 中运行SuperSocket

    关键字: Windows Azure, WorkRole, InputEndPoint, 云计算, 微软云 什么是 Windows Azure? Windows Azure 是微软的云计算平台!微软的 ...

  7. 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

    原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...

  8. 【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因

    问题描述 在Azure中国区上面创建一个云服务(外延支持)后,根据官方文档(在云服务(外延支持)中应用 Azure 诊断扩展: https://docs.azure.cn/zh-cn/cloud-se ...

  9. 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版

    随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...

随机推荐

  1. javascript特效:会随着鼠标而动的眼睛

    这个特效非常简单,其中眼球和眼珠都是特定的图片.只要掌握好距离坐标就没问题.我就直接贴代码,有兴趣的朋友可以自己复制下来运行一下,下面的眼睛图像就是我的文件用到的图像,比较难看..我就把我的代码贴出来 ...

  2. MVC 返回 view

    RedirectToAction(),即直接返回相同Controller的Index方法: 这个方法还有其他重载方法,比如第二个参数是Controller名,可以指定其他Controller下的Vie ...

  3. Js基础操作

    var a="zhangsan"; document.write(a+":I love JavaScrip"); a="lisi"; doc ...

  4. 【Tomcat】java.lang.OutOfMemoryError

    1.Java heap space Heap size 昨天在服务器上面部署项目,之前服务器上面已经有一个项目的了. 然后我再部署一个,上去跑了之后,居然内存溢出了. 好吧,内存溢出就调一下,调了之后 ...

  5. BestCoder Round #50 (div.1) 1002 Run (HDU OJ 5365) 暴力枚举+正多边形判定

    题目:Click here 题意:给你n个点,有多少个正多边形(3,4,5,6). 分析:整点是不能构成正五边形和正三边形和正六边形的,所以只需暴力枚举四个点判断是否是正四边形即可. #include ...

  6. Palindromes _easy version

    Palindromes _easy version Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  7. ZOJ 2853 Evolution 【简单矩阵快速幂】

    这道题目第二次看的时候才彻底理解了是什么意思 把题目转化为数学模型分析后就是 有一个初始序列, 有一个进化率矩阵 求的是初始序列 与进化率矩阵进行 m 次运算后, 初始序列最后一位的答案 那么显然,可 ...

  8. Nginx+tomcat集群环境搭建

    实验环境:windows xp sp3 Nginx版本:1.5.12: 下载地址:http://nginx.org/en/download.html Tomcat版本:6.0.39 下载地址:http ...

  9. 年度酷工作---高级数据工程师(公司靠谱,技术强悍,产品牛叉,福利有干货) 关键词:7000万用户、五星级厨师、住房补助 - V2EX

    年度酷工作---高级数据工程师(公司靠谱,技术强悍,产品牛叉,福利有干货) 关键词:7000万用户.五星级厨师.住房补助 - V2EX 年度酷工作---高级数据工程师(公司靠谱,技术强悍,产品牛叉,福 ...

  10. Android 系统稳定性 - ANR(一)

    文章都为原创,转载请注明出处,未经允许而盗用者追究法律责任.很久之前写的了,留着有点浪费,共享之.编写者:李文栋  如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡.缴 ...