[漫步云端,Azure Services Platform]第三回:谁说Live Mesh只是网络存储

《你必须知道的.NET》网站 | Anytao技术博客 

[漫步云端,Azure Services Platform]第三回:谁说Live Mesh只是网络存储,在Mesh部署Silverlight应用

发布日期:2009.02.26 作者:Anytao
© 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处。

1 引言

Azure、Mesh、Live和DataService,已经随着微软云计算的高调面世接踵而来。不管对于云计算,我们身处云里,还是雾中,不管我们接受还是回避,他们还是一如既往的来了。在Azure  Services Platform支撑的整个大家族中,Live Mesh始终是诟病最多的一个,大部分的意见认为Mesh最多算作一个不错的网络存储,不至于和云计算这个神圣的概念扯上干系,就像我自己一样当部分时间里,Mesh都是作为几个互连设备的存储平台,为文件共享带来方便。

然而,事实并非如此,我们看到的只是Mesh的一个方面,而它的神秘面纱随着Live Framework CTP的推出而具有了更“云”的特性,难道Mesh只是个网络存储,本文中我们提供一个Silverlight Mesh-enabled Web Application应用,把超酷的Silverlight部署在Mesh中,感受真正的Live Mesh。

我们开始。

2 必要的准备

为了运行我们的Mesh应用,必须的安装和准备是应该的。

必备的条件

安装SDK及相关Tools

SDK及相关工具的安装路径,在选择新建Live Framework CTP项目时,有相关链接指导下载相关必须的SDK和Tools,详细的安装步骤可以参考其中的在线文档说明:

在此我们仅仅做以简单说明:

  • 安装Live Mesh SDK

下载Live Mesh SDK,解压安装包,将解压之后的Live Framework SDK文件夹复制到%ProgramFiles%\Microsoft SDKs\((%ProgramFiles(x86)%\Microsoft SDKs\,64位系统)目录下保存。

  • 安装Silverlight_Tools.exe
  • 安装Live Framework Tools for Microsoft Visual Stuido

该工具必须在Live Mesh SDK和Silverlight_Tools.exe安装之后进行,安装之后打开Visual Studio,新建项目模板中就可见Live Framework项目模板,我们在接下来的畅游之旅中会看到其精彩的应用过程。

3 畅游Silverlight in Mesh-enabled

创建Mesh-enabled Web Application项目

  • 完成了必要环境的安装,打开Visual Stuido,创建项目,可见新安装的Live Framework模板,选择Silverlight Mesh-enabled Web Application模板,并设置相应的路径和项目名称:

  • 新建之后,将生成两个项目一个Silverlight项目和一个Mesh项目,所以新建之后将提示以有效帐户登陆Mesh:

  • 创建简单的Silverlight应用,作为Mesh-enabled的部署Target。

例如,我们在Page.xaml中加入基本的元素:

<Grid x:Name="LayoutRoot" Background="Azure">
    <StackPanel Margin="10, 20, 10, 20" Orientation="Vertical" HorizontalAlignment="Center">
        <TextBlock FontSize="20">Hello, my silverlight app in live mesh.</TextBlock>
        <TextBox x:Name="txtInput" Width="300" Height="60" />
        <Button x:Name="btnHello" Content="Hello, Mesh" Width="200" Height="50" Click="btnHello_Click" />
        <TextBlock HorizontalAlignment="Center" FontSize="20" Foreground="Red">2009, Anytao.com</TextBlock>
    </StackPanel>
</Grid>

并添加一点简单的操作:

// Release : code01, 2009/02/25                    
// Author  : Anytao, http://www.anytao.com 
// List    : Page.xaml.cs
private void btnHello_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show(string.IsNullOrEmpty(txtInput.Text) ? "Hello, Mesh" : txtInput.Text);
}

可想而知,运行之后的Silverlight应用将以对话框的形式输出输入框的文本。更复杂的应用,都是可以实现的,随需而变的业务就有你自己了。

  • 编译之后,运行F5,进入运行状态,将打开运行部署对话框,指导我们对Anytao.LiveMesh.App项目第一次部署和发布过程:

创建Live Service项目

  • 点击创建Live Service: Live Framework CTP之后,第一次将进入Terms of Use,当然是选择“I Accept”了。

  • 进入项目创建,输入项目Lable和Description,并进入下一步:

  • 选择项目的类型为“Create a Mesh-eabled Web application”,进入下一步,在此有进入Live Framework CTP SDK and Tools的下载链接,选择“Create”就创建了相应的项目:

  • 创建之后,将生成新的“anytaomesh”项目,包含了该项目的基本信息,也可以选择“删除”等,点击Upload Package按钮,将进入部署流程:

部署项目包

  • 回到Visual Studio,按顺序该进入第二步,点击“Copy full path of Anytao.LiveMesh.App.zip to clipcoard”,当然你也可以手动找到项目压缩包,在下一步上传:

  • 选择“Browser”,将复制你的压缩包目录,点击“Deploy”进行部署:

  • 这将是一个漫长的部署过程,因为你心爱的Silverlight应用正逐步由本地进入云中,这个过程是值得等待的,不是吗?

  • 部署之后,将生成“Application Self Links”,这个URL可以看做是你的应用在Mesh中找到了组织,复制该地址,在下一步中使用:

  • 再次回到Visual Stuido的部署框,将“Application Self Links”复制到第三步的输入框,点击OK。

  • 不要着急,还有一个进度过程,哎,过程还挺多,再等等吧,因为部署之后,我们的第一个基于Mesh的Silverlight应用就算大功告成了:-)

Running in Cloud

  • 部署完成,Visual Studio将自动打开Mesh,由Silverlight的加载过程和熟悉的Mesh桌面,我们有理由相信我们是在Mesh中运行着自己的Silverlight App了:

  • 废话就不多说了,剩下的就是欣赏了:

还有更多刺激

  • 部署之后,获得授权的用户都可以登陆Mesh进入Applications,选择自己的Web应用进行管理。你可以将自己的Mesh添加不同的Devices,那么你的所有互联设备都将能够运行自己的应用程序,除了Running in Cloud,你可以Running in Client。

  • 最后,我禁不住想把惊喜分享给dudu、dingxue还有terrylee他们,那么发个invite members就可以将我的Silverlight Mesh-enabled Web Application分享给朋友们:

至此,我们完成了一次不错的Mesh畅游,感觉怎么样?不妨自己试试。

4 结论 

你看这感觉是不是太酷了,最重要的是任何应用的更新和修改都会同步到任何互联设备、任何可访问成员端点,这就是Live Mesh的魅力,那么我们能说Live Mesh只是网络存储吗?答案已见分晓,留待大家讨论:-)

最后,提供一些有价值的参考,由大家选择:

 

代码下载:这里

参考文献

anytao | © 2009 Anytao.com

2009/02/26 | http://anytao.cnblogs.com/ | http://www.cnblogs.com/anytao/archive/2009/02/26/anytao_azure_03_siverlightinmesh.html

本文以“现状”提供且没有任何担保,同时也没有授予任何权利。 | This posting is provided "AS IS" with no warranties, and confers no rights.

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted @ 2009-02-26 00:36 Anytao 阅读(...) 评论(...) 编辑 收藏