2010-03-03 89 views

回答

9

使用Silverlight 4,您可以调出安装在本地计算机上的COM对象。但是要做到这一点,用户必须选择允许Silverlight应用完全访问他们的机器。

此外,COM对象需要已经安装在机器上。因此,在使用Silverlight应用程序中依赖于它们的任何功能之前,用户首先必须单独下载并安装DLL。

+0

+1,还应该注意的是,该应用不仅需要完全信任,还需要运行在浏览器外。 – 2010-03-04 02:58:22

+0

如果您的XAP受信任,Silverlight 5将在浏览器中调用COM。 http://www.microsoft.com/silverlight/future/ – 2011-03-19 23:00:13

0

Silverlight在浏览器沙箱中运行,因此它不允许您直接调用非托管程序集。尽管您将非托管代码封装在C#程序集中,但它仍然会在受相同安全限制限制的相同应用程序域中加载。

我读过你可以使用silverlight和ActiveX之间的html互操作性,但我自己没有经历过。或者,您可以部署完整的WPF应用程序,如果您使用适当的证书和安全设置对其进行签名,则可以访问非托管代码 - 如果这是一个选项。