編輯2: 對於有同樣問題的用戶,我設法使用this page來解決它。祝你好運!ActiveX在localhost上工作,不能在外部服務器上工作
編輯︰ Apperently我的問題是,我需要在客戶端計算機上安裝ActiveX組件。什麼是正確的方法來做到這一點?
我在C#中編寫了一個小型ActiveX組件,它搜索可移動驅動器,如USB閃存驅動器。我遵循步驟here,簡而言之,我寫了一些代碼並做了如下操作:regasm AClass.dll /tlb /codebase
我寫了ActiveX組件,因爲它需要在外部服務器上執行。所以我做了一個使用ActiveX的小型網頁。當我使用本地主機時,代碼被執行並且我的USB密鑰被檢測到。它甚至可以在最終目標的ASP.NET頁面內工作。
但是,從外部服務器訪問頁面時,代碼不會執行。我在加載ActiveX組件之前和之後放置了javascript警報。加載ActiveX後的警報甚至不會觸發。
該網頁使用此代碼:
<html>
<head>
<script language="javascript">
alert("Loading ActiveX");
var x = new ActiveXObject("ANamespace.AClass");
alert(x.GetDrives());
alert("Done");
</script>
</head>
<body></body>
</html>
我可以張貼的C#ActiveX代碼雖然我覺得不需要它,它只是試圖找到移動diskdrives,它在我的本地沒有工作的罰款。
注意,這實際上是我第一次使用ActiveX。提前致謝!
你是否安裝在外部機器上的ActiveX控件? –
我不確定你的意思是通過安裝,但我想我是這麼做的。我在外部機器上運行了網頁,並且ActiveX控件在那裏工作。 – Carlito
您的ActiveX服務器需要安裝在運行javascript的機器上。保持它在服務器上不是一個選項。 –