“三步法”开发Silverlight3脱离浏览器应用

日期: 2009-12-14 作者:Steven Porter翻译:邢茹娟 来源:TechTarget中国 英文

随着Silverlight 3 Beta 1版本的发布,微软为Silverlight应用引进了脱离浏览器功能。“out of browser”,或简称为OOB,Silverlight应用的安装与相关的快捷方式就像传统的Windows应用一样。OOB盒中作为其“浏览器中”的配对物,因此,所有的安全和本地访问规则就好像运行在浏览器内一样,仍然适用。   就像脱离浏览器运行Silverlight应用这个功能一样酷,微软通过推出运行离线OOB应用的功能而略胜一筹。

这里对OOB离线的Silverlight应用有几种不同的实现和选择,但是更新现有的Silverlight 3应用来离线运行只需三个简单的步骤……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

随着Silverlight 3 Beta 1版本的发布,微软为Silverlight应用引进了脱离浏览器功能。“out of browser”,或简称为OOB,Silverlight应用的安装与相关的快捷方式就像传统的Windows应用一样。OOB盒中作为其“浏览器中”的配对物,因此,所有的安全和本地访问规则就好像运行在浏览器内一样,仍然适用。

  就像脱离浏览器运行Silverlight应用这个功能一样酷,微软通过推出运行离线OOB应用的功能而略胜一筹。这里对OOB离线的Silverlight应用有几种不同的实现和选择,但是更新现有的Silverlight 3应用来离线运行只需三个简单的步骤就可以实现。

  步骤一:配置Silverlight应用来支持OOB

  除非你允许,否则用户不能安装和运行你的脱离浏览器应用,所以你的第一个步骤就是配置应用支持OOB。你只需对你的Silverlight项目中的一部分,也就是应用中XML格式清单文件做一些小的更新就行了。这些更新包括显示在各个地方应用窗口的标题栏和图标列表中的应用名称的值,但又不仅限于这些值。

  步骤一就这么简单;现在用户就能右键点击运行应用并选择在本地安装。此外,你也可以通过对你的应用编码来添加事件,例如点击按钮触发程序来生成安装对话框。通过调用Application.Current.Detach()方法就可以完成。

  步骤二:测试看看你是否有一个有源网络连接

  OOB应用可以在有源网络连接下运行,没有网络也可以,因此步骤二是检查用户的网络连接状态。通过调用NetworkInterface.GetIsNetworkAvailable() 方法就可以完成。这是调用任何Web服务之前要做的例行检查,因为没有有效网络连接的情况下它们就会失败。除了GetIsNetworkAvailable方法,你也可以订阅NetworkChange .NetworkAddressChanged 事件,无论什么时候只要网络连接状态发生了变化,这个事件就会启动。

  步骤三:在Silverlight中保存本地或远程数据

  第三步也是最后一步,根据用户的网络连接状态,更新你的应用来下载并在本地或远程保存数据。如果你的应用正运行在一个有源网络连接上,你应该和平时一样下载并保存。在你的应用运行中断的情况下,有两种选择来下载并保存数据。一种是用户可以分别使用OpenFileDialog类 和SaveFileDialog类手动地下载和保存数据。

  为了给用户提供无缝体验不论他们连接上与否,另一个更好的选择是使用独立存储来缓存数据。当运行断开时缓存数据允许应用使用独立存储下载和保存。这种选择使得用户在不管你的应用是连接或断开状态的情况下都保持无缝体验。

    这就是如何实现一个断开情况下,脱离浏览器(OOB)Silverlight 3应用的全部步骤。

  Steven Porter是Wintellect公司的高级顾问和项目经理,Wintellect公司是一家咨询/调试和培训公司,由业内的专家Jeff Prosise,Jeffrey Richter和John Robbins共同建立。他擅长技术,如ASP.NET,ASP.NET AJAX,Silverlight和WPF。Steven是一位客户端应用开发的微软MVP并且经常在像用户群和代码夏令营这样的活动中做报告,主题范围从Silverlight到Windows Workflow Foundation。