.NET客户端与ActiveX(或其他方法?)

时间:2009-02-10 20:10:18

标签: .net wpf silverlight activex xbap

是否有人有任何白皮书或文章可以比较和对比需要.NET客户端组件的Web架构,并且考虑的选项是ActiveX还是.Net组件解决方案?

我有一个客户希望在架构上推荐一个.Net客户端方法而不是Active X.但是,对于ActiveX有一些强烈的意见。我想做的是为我们的方向收集更多背景和行业支持。

我个人不建议任何人再写一个ActiveX组件。如果他们需要浏览器部署模型中的增强功能,我通常建议通过XBAP使用WPF或编写Silverlight应用程序。理想情况下,我想谈谈标准网络,增强型网络(Silverlight)或平台优化(WPF)的优缺点。

这些东西你们可以帮助我们指出正确的方向吗?有什么想法吗?

3 个答案:

答案 0 :(得分:1)

上面有很棒的链接。我想澄清一下,虽然默认情况下XBAP和ClickOnce应用程序在沙箱中运行,但它们可以提升到更高的信任度。这对XBAP来说比较棘手,因为它需要在客户机器上存在代码访问安全策略,并且没有简单的方法可以实现它(除了网络启动的MSI,这会使目的失败)。

Click-Once应用程序可以指定它们在清单中需要提升权限(这在项目设置中完成)。首次启动应用程序时,如果应用程序需要比默认区域(通常是Internet)更多的权限,则会提示用户并发出警告,但他们可以批准提升的权限。

Silverlight仅在无法提升的安全沙箱中运行。有一种访问本地存储的安全方法,但无法直接与USB设备等其他硬件进行交互。 Silverlight非常适合(几乎)零接触应用程序部署,只要应用程序可以存在于Silverlight提供的安全性和功能边界内。 Silverlight确实在继续发展,并且这些界限继续扩大。例如,通过Live Framework,我们现在可以在离线模式下在桌面上的浏览器之外运行Silverlight应用程序并进行数据同步。我有关于on channel 9的截屏视频。

我也会避免使用ActiveX,除非你在其他一个配置文件中无法满足需要。随着每个浏览器的发布,ActiveX越来越受到限制,而且控制起来要困难得多,而且安全性要低得多。对于IT专业人员来说,ActiveX可能是一个令人头痛的问题,这反过来又会让你的应用程序部署在企业中更具挑战性。

希望对您的项目有所帮助和好运。

答案 1 :(得分:0)

我在2007年写过这篇文章 - 它今天仍然适用 - 尽管我最近对使用Silverlight进行业务线应用感兴趣。

答案 2 :(得分:0)

安全通常是您最强的卖点。 XBAP应用程序始终在沙箱中运行,而ActiveX则不然。

我发现以下微软博客文章:XBAP = next-generation ActiveX?是有帮助的。