我有一个带有UI的传统VC ++ ActiveX dll。 此ActiveX dll只能在同一工作站中使用,但可以通过浏览器使用(仅限IE,因为它具有其他依赖性。 现在,客户要求它应该是可访问的,并且与Chrome,Safari和FF等其他浏览器的行为相同。 为每个浏览器编写插件,要求客户安装它并维护这些插件是不可行的。 所以我尝试了以下选项:
使用node-ffi(Node.js addon),但这只能用于加载和调用本机动态库,但不能用于在浏览器中实例化和呈现ActiveX。
一个。 无法使用Node.js - > win32ole,因为它仅适用于IE。
将非托管COM dll包装到interop dll,使用REST WCF服务(HTTP绑定和WebGet / WebInvoke合同属性)作为端点公开来自此包装器的方法和事件。
一个。 以上方法适用于常规COM dll,但不适用于VC ++ ActiveX dll。
是否有可能使用.NET或任何其他MS技术封装非托管ActiveX dll并使非IE浏览器/ JavaScript使用此包装器?
提前谢谢