代码改变世界

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

2011-03-31 06:37  jv9  阅读(2122)  评论(3编辑  收藏

上一篇,介绍了无须信用卡申请试用免费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人