Silverlight实例教程 - Out of Browser与Office的互操作

2012-04-09
浏览
导读:在本篇开始前,首先感谢每一位留下反馈评论的朋友,在我看来,博客不仅仅是简单的分享,同时也 是一个学习和发现的过程。在阅读完一篇文章能对其有所评论和提问

在本篇开始前,首先感谢每一位留下反馈评论的朋友,在我看来,博客不仅仅是简单的分享,同时也 是一个学习和发现的过程。在阅读完一篇文章能对其有所评论和提问,也是一种思考的表现。

在上篇“Silverlight实例教程 - Out of Browser与COM的交互基础” 中,我们讨论了Silverlight的 OOB应用访问COM组件基础知识,在大家的反馈中,有不少朋友提出疑问,Silverlight对于COM的支持,使 其失去跨平台的优越性,另外,Silverlight仅有Out of Browser模式能支持COM,是否仍旧存在较大的局 限性? 对此在本篇我们不进行长篇分析和讨论,只是简单的把我的看法说一下。

Silverlight Out of Browser从Silverlight 3 到现在Silverlight 4,一直遵循跨平台的原则,在微 软官方有相关的解释,

Linux,Moonlight从第一个版本发布,就已经有了高级权限模型,在GtkWidget中Moonlight具有full -trust的能力。也就是说,Silverlight具有信任权限提升,而Mono具有full-trust模式。

Mac,由于Mac没有Com的概念,所以,Silverlight的COM无法在Mac中运行,但是微软官方也正在寻找 一种方式,尝试使用一种模拟的方式来实现在Mac上运行COM的效果,例如,运行AppleScript

在上面的脚本中可以看出,Mac如何通过AppleScript来调用Office Word的,而这样的方式其实也就是 Mac对COM的调用,在以后Silverlight的版本中,如果加入对AppleScripts的支持即可在Mac上支持COM的 运行;

从上面的描述来看,Silverlight的OOB应用跨平台,并非不能解决,只是时间的问题。作为技术人员 ,经常对一门技术的前景进行展望,而需要注意的是,尽量不要使用其短处与其他技术的长处进行相比较 ,这样的对比结果,只会干扰自己的视线和思路。一门能挣钱的技术,就已经算是一门好技术了。

Out of Browser与Office的互操作

言归正传,本篇将继续介绍Silverlight的Out of Browser应用与Office COM组件的交互。相信大家对 微软的Office系列并不陌生了,Office在企业项目中使用频率较高,例如在日常项目中经常与遇到导出列 表到 Excel,或者发送邮件等功能需求,所以微软将其许多功能封装成COM组件,供开发人员使用,增强 其应用的灵活性。本篇,我将演示在Silverlight的OOB应用中,如何使用Office Outlook,Word,Excel 组件。

我们仍旧使用上篇的项目代码,对其进行扩展,大家可以到上篇下载演示项目代码。

在开始功能代码前,首先需要在UI界面ToolBar中添加三个Button来响应其事件。

Silverlight编程模型、XAML和HTML DOM

Silverlight对象树

Silverlight中如何为浏览器外应用程序实现

Silverlight中如何为浏览器外支持配置应用

使用LINQ和ADO.NET创建Silverlight程序