Silverlight vs ActiveX,用于具有系统访问权限的轻量级应用

时间:2013-06-12 17:15:00

标签: silverlight activex

只是一个R& D问题。我们需要开发一个可以在浏览器中运行的应用程序,该浏览器能够执行一些系统检查以收集要通过电子邮件发送给我们的支持信息。这些检查将包括基本系统信息,但还需要扫描文件系统并提取有关可能安装的各种DLLS,可执行文件和.NET程序集的版本信息。我们的想法是,我们可以将客户端定向到页面并让应用程序收集支持所需的相关信息,甚至可能填充某些数据库字段。我们需要尽可能减少占地面积。

之前我曾使用ActiveX,并且知道它能够胜任这些事情,但特别是在现代系统上,安全性是一个噩梦,很多人完全阻止了ActiveX。 Silverlight更容易交付给客户吗?它的占地面积更小吗?它甚至能够做这些事吗?

2 个答案:

答案 0 :(得分:1)

Silveright可以访问独立存储,但我不认为它可以做你想要的(我可能是错的)。至于足迹,如果我没记错的话,运行时相当小,而.xap包限制为4Mb。

Silverlight浏览器无法访问文件系统。 http://msdn.microsoft.com/en-us/library/dd550721(v=vs.95).aspx#special_features_for_outofbrowser_applications

如果您打算在浏览器中运行您的应用程序,您仍然需要将信任配置为oob。 http://msdn.microsoft.com/en-us/library/gg192793(v=vs.95).aspx

然而,iTunes有一种巧妙的方式来做一些有点相关的事情。它有一个自定义协议(itms://),允许浏览器调用客户端程序(iTunes)。然后,您可以将html嵌入到将参数作为命令行参数传递给该应用程序的网页中。该网站还知道iTunes是否由cookie安装。考虑到这一点,您可以鼓励用户安装一些在安装时设置自定义协议的小应用程序。您可以从Web传递命令行参数,应用程序会将信息从客户端推送回服务器。

要创建实时体验,您可以使用套接字+更多javascript来更新您刚从机器上获取的信息页面。

HTH,

答案 1 :(得分:0)

Silverlight在一个非常有限的孤岛中运行,不能做很多低级别的事情 - 例如检查文件系统。不幸的是,我会说它不适合你的用例。