OOB (Out of Browser) 是 Silverlight 3 开始支持的一个新特性,可以让 Silverlight 向 Windows 普通程序那样运行。
如何编写支持OOB特性的程序,需要注意下面三点:
- 配置 Silverlight 应用,以便使它可以运行在离线模式下,即: 修改 AppManifest.xml 文件,完成这个设置。
- 程序启动时,检查是否运行在OOB方式下。
- 只有网络可用时,再加载和存储本地或远程数据。
配置成离线:
下图为 VS2010 项目属性中, 我们可以打开 Silverlight项目的 OOB 功能。
选中后,我们就可以设置 OOB 的一些细节,如下图:
Blend 中的设置在下面:
配置好上面步骤后,我们在通过网页访问这个 Silverlight 应用时,右键菜单中就是下面菜单项:
选择安装到此计算机菜单项后,就会有下面的设置选项:
成功安装后,以 OOB 方式运行时,右键菜单中就有卸载的选项,如下图:
检测是否运行在OOB 模式下
可以用下面代码实现这个检测:
// 检测离线应用 if (Application.Current.RunningOffline) { // Launched in sllauncher.exe } else { // Launched in a browser }
检测网络状态
可以用下面代码实现这个检测:
// 检测网络是否可用的代码 if(NetworkInterface.GetIsNetworkAvailable()) { // App is connected } else { // App is not connected }
参考资料:
Silverlight 3 OOB
http://www.mdong.org/?p=828
http://www.mdong.org/?p=836
Silverlight 3.0 OOB 原理开发及离线文件存储位置
http://blog.csdn.net/chinull/archive/2009/10/04/4632650.aspx