2009-12-13 32 views
3

有什么办法让ActiveX控件在Linux上工作?我可以想象答案是否定的,但只是想确定。使用Mono的Linux上的ActiveX?

我的公司正在考虑ASP.NET项目的Linux端口(使用Mono),但它使用的ActiveX控件相当繁重,所以我们想知道它是否可行。

对不起,如果问题是愚蠢的!

+1

他们在使用Firefox/Chrome(不太可能)吗?也许使用WINE?无论哪种方式,听起来像个坏主意...... – Kobi 2009-12-13 07:11:32

+0

@Kobi不,只是IE。听起来也不好,哈哈。 – 2009-12-13 07:18:15

回答

5

即使在Linux上支持ActiveX,您仍然不应该使用它,因为它在该环境中相当陌生(就像'很难维护'一样)。

我的建议是用AJAX或Flash重写整个项目,以便它可以在任何平台上的任何浏览器上运行。


单声道不是ActiveX!即使您可以使用客户端单声道来重写activeX,您的代码也只能在客户端机器安装了单声道时运行。

+0

@lexu很多ActiveX控件都是第三方组件,可能没有其他选择,所以我认为它不会起作用。虽然谢谢! – 2009-12-13 07:21:20

+0

@David - 即使你没有移植到Linux,你也需要离开ActiveX。所有版本的IE的市场份额下降到65%(IIRC)并稳步下降。 – 2009-12-13 07:56:46

+0

Stephen:这取决于他是否运行ActiveX控件客户端或服务器端。如果控件运行在客户端,则您的评论是相关的,但在这种情况下,控件不会影响到Linux和Mono的端口:元素仅仅是元素,Apache等将为OCX文件提供服务,任何其他类型的文件。 – itowlson 2009-12-13 08:10:46

2

如果你不得不使用一些第三方的ActiveX控件,你不能直接在Linux上使用它们 - 他们希望某些运行时环境不是微不足道的(它可以完成,但它不可行) 。

你可以做的最好的事情就是编写一个运行在WINE中的小型主机程序,加载控件并通过IPC机制为它们提供一个替代接口。

0

作为gf答案的变体,您可以在Linux上的Wine中运行Mono。 Mono支持一些COM Interop,而Wine支持COM,所以在理论这个会起作用。

无论你是否想在Linux上运行Mono,都是另一回事,因为它增加了可以中断的事情的数量。