Windows Azure使用VS 2010的云应用开发过程
原文 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>
<ccid_code>protected void Page_Load(object sender, EventArgs e) |
在这里,我们开发云应用的步骤就结束了,整个开发过程和开发ASP.Net没有任何区别,我们无需从零开始学习云应用开发,这也是微软云计算平台的一大优势。
(2) 配置云服务
开发完云应用程序后,我们就需要对应用进行配置。打开ServiceConfiguration.cscfg文件,修改配置文件如下:
<ccid_nobr>
<ccid_code><?xml version="1.0"?> |
在服务设置文件中,我们可以定义角色并对角色进行设置,这里使用默认已经创建好的角色,只是设置了实例的数量,由“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的云应用开发过程的更多相关文章
- Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式
<Windows Azure Platform 系列文章目录> 这是笔者在之前的项目中遇到的问题,做一下总结,给网友做参考. 在一般情况下,Visual Studio开发的Cloud Se ...
- 基于Windows Azure 安装 SharePoint 2010简体中文语言包
在Windows Azure上安装的Windows Server默认是英文版本的,当时安装的SharePoint也是英文版的,为方便使用,决定安装中文的语言包,具体过程如下: 1. 安装 Window ...
- 将 Java Spring Framework 应用程序迁移到 Windows Azure
我们刚刚发布了一个新教程和示例代码,以阐述如何在Windows Azure中使用 Java 相关技术.在该指南中,我们提供了分步教程,说明如何将 Java Spring Framework 应用程序( ...
- Windows Azure Storage
之前都是在博客园看别人的文章,今天开始就开启自己的博客咯,欢迎阅读,共同探讨! 简单点说Widows Azure Storage就是一个大的网盘,可以让用户存储任何想存储的数据,数据一旦存储到“云”中 ...
- Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)
Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...
- 在 Windows Azure 中运行SuperSocket
关键字: Windows Azure, WorkRole, InputEndPoint, 云计算, 微软云 什么是 Windows Azure? Windows Azure 是微软的云计算平台!微软的 ...
- 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序
原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...
- 【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因
问题描述 在Azure中国区上面创建一个云服务(外延支持)后,根据官方文档(在云服务(外延支持)中应用 Azure 诊断扩展: https://docs.azure.cn/zh-cn/cloud-se ...
- 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版
随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...
随机推荐
- C++_01_入门
一.类的定义 Person.h类声明 Person.cpp类实现 main.cpp主函数 二.命名空间的使用 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv ...
- Swift编程语言学习2.1——基础运营商(在)
操作员正在检查,更改.归并值特殊符号或短语.例如,加+这两个数字相加(例如let i = 1 + 2). 算如更复杂的逻辑和操作的实施&&(例如if enteredDoorCode & ...
- c#关于委托和事件
using System; using System.Collections.Generic; using System.Text; namespace Delegate { // 热水器 ...
- Jquery获对HTML控件的控制
Jquery获对HTML控件的控制 1.获取控件的值 1.1.radio 1.1.1 获取一组radio被选中项的值 var item = $('input[name=items][checked] ...
- haml、sass简单的解释
1. Haml 全名为 HTML Abstract Markup Language,主要就是让开发者能够使用缩排的方式撰写 HTML,做到永不忘记关 Tag 的效果. 例如:%h1= "He ...
- [转] iOS (OC) 中 KVC 与 KVO 理解
转自: http://magicalboy.com/kvc_and_kvo/ KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解. Key-Value ...
- 浙江工商大学15年校赛E题 无邪的飞行棋 【经典背包】
无邪的飞行棋 Time Limit 1s Memory Limit 64KB Judge Program Standard Ratio(Solve/Submit) 15.38%(4/26) Descr ...
- (Problem 16)Power digit sum
215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26. What is the sum of the digits of th ...
- redis(五)redis与Mybatis的无缝整合让MyBatis透明的管理缓存二
在上一篇文中的Cahe类存在各种问题如:一直使用同一个连接,每次都创建新的Cache,项目中老是爆出connection timeout 的异常,存储的key过长等等一系列的问题,解决问题最好的办法就 ...
- eclipse、MyEclipse实现批量改动文件编码
在使用eclipse或MyEclipse编程时,常常遇到部分文件打开后出现乱码的情况(特别是在导入项目后) 1:右击项目选择properties->Resource>Other选择UTF- ...