2009-12-13 65 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,都是另一回事,因爲它增加了可以中斷的事情的數量。