2009-07-26 58 views
0

我正在构建一个小型Silverlight应用程序。我希望能够将COM DLL添加到我的应用程序中。我目前的想法是用Web客户端下载COM DLL,然后添加到项目中,虽然如上所述...如何将一个COM组件添加到Silverlight应用程序? (这是否可能,安全明智?)如何将COM引用添加到Silverlight应用程序

+0

这是否必须是Silverlight应用程序?你有没有考虑将它作为WPF应用程序编写并通过ClickOnce进行部署?正确签名后,您的ClickOnce应用程序可以在FullTrust中运行,并能够P/Invoke到本机代码。 – 2009-07-27 12:30:18

回答

2

你不能因为Silverlight的安全沙箱,你只能使用security transparent托管代码和本机代码肯定没有质量。

另外,尽管可能通过Javascript调用ActiveX,但请不要忘记Silverlight是跨平台的,您的代码可能在Mac或Linux机器上运行。

如果您绝对需要某种仅在COM中可用的功能,您可以从服务器上的FullTrust .NET代码(某些主机不允许)调用COM,然后编写WCF服务(甚至可以使用ASP.NET Web Service if你希望成为你的Silverlight应用程序可以调用的老派:)外观,只要你不需要客户端上可用的东西。

+0

那么我呢...我需要他的声卡,可悲的是不能使用mediaelement控件。谢谢你们!回想起曾经想到的答案。 – vondip 2009-07-26 21:20:40

2

你不能。

如果你正在谈论一个ActiveX组件,那么你可以通过JavaScript代码调用它。