我已经构建了这个小型 Web 应用程序。它有一个通过 javascript 将非托管代码返回到 silverlight 应用程序的 activex 控件。在 silverlight 中,我对返回的值执行封送操作。当我只执行 GetSize() 的简单操作时,我会遇到一个令人震惊的错误。这让我想到了我的问题:是否可以在 Silverlight 中执行编组操作,如果可以,如何操作?
问问题
1539 次
1 回答
3
Silverlight 的安全模型和沙箱不允许“透明”(用户代码和应用程序)执行 p/invokes、可信操作或任何类似的操作。
如果您已经安装了 ActiveX 控件并可用于网页,则需要使用 Silverlight 的 HTML 互操作性功能自己编组数据。有一篇关于特定于 Silverlight 2 的 HTML 桥的 MSDN 文章,但您会发现它在 Silverlight 的较新版本中也是一样的。
这假定您的 ActiveX 控件已经可以通过浏览脚本/JavaScript 访问。
尽管一些数字编组和其他一些原语在平台上运行良好,但您最终可能会通过使用字符串将所有数据从 ActiveX 控件中移出,然后在 Silverlight 客户端上将其解析回。
这至少可以启用您的方案。
于 2009-08-05T17:34:47.033 回答