部署Silverlight项目到Windows Azure云平台实例-阿里云开发者社区

开发者社区> 技术小牛人> 正文

部署Silverlight项目到Windows Azure云平台实例

简介:
+关注继续查看

上一篇,介绍了无须信用卡申请试用免费Windows Azure云运算平台,本篇将实例演示如何部署Silverlight应用项目到Windows Azure云平台。

 

准备工作

在部署Silverlight应用前,首先需要创建一个完整的Silverlight项目,本篇主要演示如何部署Silverlight项目到 Windows Azure云平台,所以不再详细描述如何创建Silverlight项目。这里使用一个最近新推出的Theme主题作为演示项目。

Image00160

另外,部署Silverlight项目需要使用Visual Studio 2010集成开发环境,并且需要安装最新的Windows Azure SDK(SDK 1.4),推荐大家可以使用微软的Web Installer下载(参考)。Azure SDK安装过程非常简单,无须开发人员干涉安装过程。完成安装后,在Visual Studio 2010下可以看到Cloud项目模板。

Image00162

 

 

添加Windows Azure服务

首先编译Silverlight项目,确认项目在本地可以正常运行。

然后在当前Silverlight项目下添加新的Windows Azure项目,命名为“SLWindowsAzureProject”

Image00134

 

Image00135

 

点击OK后,会提示选择新的Windows Azure项目模板,

Image00136

由于我们使用现有的Silverlight项目作为默认项目模板,所以,无须选择任何项目模板,直接点击“OK”进入下一步,

Image00137

Visual Studio 2010将创建一个新的Windows Azure项目在当前SLWP7Theme项目下,在项目下包含一个Roles角色目录,一个SerivceConfiguration配置文件以及一个 SerivceDefinition服务定义文件。

为了能够让Windows Azure云平台正常访问存取当前Silverlight项目,在创建Windows Azure项目后,需要添加指定的角色到当前项目下,右键点击“Roles”目录,“Add” –> “Web Role Project in solution…”,

Image00138

随后会弹出需要将该角色关联到Web服务器端项目,在我们的项目中,SLWP7Theme.Web是服务器端项目承载Silverlight项目运行,所以将角色分配到该项目下,

Image00139

创建Roles成功后,在SLWindows AzureProject目录下可以看到Roles内容,

Image00140

 

完成Windows Azure设置后,可以进行项目Debug测试,Visual Studio 2010将运行Windows Azure模拟器,并生成图标在任务栏,开发人员可以对服务进行监控和浏览。

Image00141

Windows Azure模拟器运行时,会对数据存储进行简单初始化操作,

Image00131_1

如果项目编译无错,Silverlight将进入Debug状态。

 

开始部署项目

完成以上操作后,就可以进行项目部署操作了。部署Silverlight项目首先需要对Windows Azure项目进行发布操作,右键点击“SLWindows AzureProject”,然后点击“Publish”

Image00163

弹出Windows Azure项目部署窗口,由于是第一次创建服务,发布时需选择”Create Service Package Only“,而如果在Windows Azure平台已经存在部署项目,则需要选择“Deploy your Windows Azure project to Windows Azure”,

Image00164

点击OK后,则会弹出一个Windows文件浏览窗口,其中包括一个ServiceConfiguration云服务配置文件和一个.cspkg的服务包文件,该文件包含当前Silverlight项目服务器端执行文件。

Image00143

 

现在需要使用上一篇你申请的Windows Azure云平台帐号,对主机服务进行设置操作。首先使用你注册的帐号登录Windows Azure平台,该平台最新版本是基于Silverlight的,所以必须安装Silverlight最新客户端才可以正常访问。登录后可以看到当前帐号状态为Active。Windows Azure开发者平台:http://windows.azure.com/

Image00144

点击“New Hosted Service”,将弹出云平台主机服务创建子窗口,

Image00146

需要说明的是,

1. 选择用户访问区域,允许开发人员设置东亚,东南亚,欧洲,美洲等区域,开发人员可以根据主要用户群分布选择Windows Azure服务器位置。尽管你选择的服务器区域并非你所在区域仍旧可以正常访问,只是可能会速度慢一点。这里,我将区域部署到东亚。

2. Deployment options,第一次部署项目,将项目保持在Stage环境下,对部署的项目进行测试云端测试。而Windows Azure平台将生成一个随机的DNS名称供开发人员访问测试。

例如:(http://0663aab2c1814d0eae91b1d0ee899738.cloudapp.net/SLWP7ThemeTestPage.html)

Image00150

如果想直接发布成为正式云端项目,可以直接选择“Deploy to production environment”选项。

在创建服务完成测试后,也可以通过“Swap VIP”进行环境切换,将产品从Stage测试状态,切换到正式发布状态,而DNS名称也将会从临时随机名称转换为起初创建的http://slwp7.cloudapp.net/SLWP7ThemeTestPage.html.

点击Ok完成创建,Windows Azure平台给出警告信息,推荐在一个项目下创建多个Web Role防止其中一个Role失效时造成项目无法访问。由于这里只是演示项目,我将忽略该警告信息。

Image00147

点击Yes后,Windows Azure平台将自动创建主机服务,并且上传云服务包和配置文件,该过程无须开发人员干涉。

Image00148

创建完成后状态为“Ready”,

Image00165

Image00149

 

如果当前项目处于“Staging”测试状态,需要点击“Swap VIP”进行环境切换.

Image00174

切换过程服务器需要重新初始化项目,并生成正式DNS URL。

切换完成后,即可打开云服务URL:http://slwp7.cloudapp.net/SLWP7ThemeTestPage.html 进行测试,如果看到Silverlight项目页面,则说明部署成功。

Image00132

Image00133

 

至此,部署Silverlight项目到Windows Azure云平台完成。

 

项目源代码

 

 

欢迎大家加入“专注Silverlight”QQ技术群,欢迎大家加入一起学习讨论Silverlight&WPF&Widnows Phone开发技术。 
22308706(一群) 超级群500人
37891947(二群) 超级群500人
100844510(三群) 高级群200人
32679922(四群) 超级群500人
23413513(五群) 高级群200人
32679955(六群) 超级群500人
61267622(七群) 超级群500人
88585140(八群) 超级群500人
128043302(九群 企业应用开发推荐群) 高级群200人
101364438(十群) 超级群500人
68435160(十一群 企业应用开发推荐群)超级群500人


本文转自 冷秋寒 51CTO博客,原文链接:http://blog.51cto.com/kevinfan/531283 ,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Dubbo实战案例01【需求分析及项目创建】
Dubbo实战案例01【需求分析及项目创建】
18 0
个人用户如何手动在ECS实例上部署Java web项目?
本篇文档介绍如何手动在ECS实例上部署Java web项目。适用于刚开始使用阿里云进行建站的个人用户。
1725 0
《用于物联网的Arduino项目开发:实用案例解析》—— 3.3 MQTT
MQTT是一个轻量级的机器对机器的协议。它采用的是发布者-订阅者模型,就是说由一个发布者把数据发布给服务器(也叫作代理),然后订阅者就能收到这个数据。发布者和订阅者彼此互不相识,但他们都连接在代理上,代理异步地完成这个通信。
3430 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10732 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11989 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12810 0
《用于物联网的Arduino项目开发:实用案例解析》—— 导读
分析家预测,到了2020年,会有超过500亿的联网物(设备),在物联网领域的总营收会轻松超过1.5万亿美元。 数字看上去巨大,但是物联网究竟是什么呢?是不是就只是把东西连接到互联网上呢?为什么连接后的东西就有意义了呢?
2067 0
5723
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载