0

我已经构建了这个小型 Web 应用程序。它有一个通过 javascript 将非托管代码返回到 silverlight 应用程序的 activex 控件。在 silverlight 中,我对返回的值执行封送操作。当我只执行 GetSize() 的简单操作时,我会遇到一个令人震惊的错误。这让我想到了我的问题:是否可以在 Silverlight 中执行编组操作,如果可以,如何操作?

4

1 回答 1

3

Silverlight 的安全模型和沙箱不允许“透明”(用户代码和应用程​​序)执行 p/invokes、可信操作或任何类似的操作。

如果您已经安装了 ActiveX 控件并可用于网页,则需要使用 Silverlight 的 HTML 互操作性功能自己编组数据。有一篇关于特定于 Silverlight 2 的 HTML 桥的 MSDN 文章,但您会发现它在 Silverlight 的较新版本中也是一样的。

这假定您的 ActiveX 控件已经可以通过浏览脚本/JavaScript 访问。

尽管一些数字编组和其他一些原语在平台上运行良好,但您最终可能会通过使用字符串将所有数据从 ActiveX 控件中移出,然后在 Silverlight 客户端上将其解析回。

这至少可以启用您的方案。

于 2009-08-05T17:34:47.033 回答