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

.NET客户端与ActiveX(或其他方法?),.net,wpf,silverlight,activex,xbap,.net,Wpf,Silverlight,Activex,Xbap,是否有任何白皮书或文章会比较和对比需要.NET客户端组件且考虑的选项是ActiveX或.NET组件解决方案的web体系结构 我有一位客户希望在架构上推荐一种.Net客户端方法,而不是Active X。不过,对于ActiveX有一些强烈的意见。我想做的是为我们的方向收集更多的背景和行业支持 我个人不建议任何人再编写ActiveX组件。如果他们需要浏览器部署模型中的增强功能,我通常建议通过XBAP使用WPF或编写Silverlight应用程序。理想情况下,我想就标准web、增强web(silverl

是否有任何白皮书或文章会比较和对比需要.NET客户端组件且考虑的选项是ActiveX或.NET组件解决方案的web体系结构

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

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


你们能帮我们指出正确的方向吗?有什么想法吗?

我在2007年写过这篇文章——它今天仍然适用——尽管最近我看到很多人对将Silverlight用于业务线应用程序感兴趣


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


      我发现下面的microsoft博客条目很有帮助。

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

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

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

      我也会避免使用ActiveX,除非您无法满足其他配置文件中的需求。ActiveX在每个浏览器版本中都受到越来越多的限制,它比其他浏览器更难控制,也更不安全。ActiveX对于IT专业人士来说可能是一个管理难题,这反过来又使得在企业中部署应用程序更具挑战性

      希望这对你的项目有帮助,祝你好运