ActiveX работает на локальном хосте, не работает на внешнем сервере - PullRequest
3 голосов
/ 05 октября 2011

Edit2: Для пользователей, имеющих такую ​​же проблему, мне удалось решить ее, используя эту страницу . Удачи!

Edit: По-видимому, моя проблема заключается в том, что мне нужно установить компонент ActiveX на клиентском компьютере. Как правильно это сделать?

Я написал небольшой компонент ActiveX на C #, который ищет съемные диски, такие как USB-флешки. Я выполнил шаги здесь , короче говоря, я написал некоторый код и сделал: regasm AClass.dll /tlb /codebase

Я написал компонент ActiveX, потому что он должен выполняться на внешнем сервере. Поэтому я сделал небольшую веб-страницу, которая использует ActiveX. Когда я использую localhost, код выполняется, и мой USB-ключ обнаруживается. Он даже работает изнутри страницы ASP.NET, которая является конечной целью.

Однако при доступе к странице с внешнего сервера код не выполняется. Я разместил предупреждения JavaScript до и после загрузки компонента ActiveX. Предупреждение после загрузки 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>

Я могу опубликовать код ActiveX C #, хотя я думаю, что он не нужен, он просто пытается найти съемные дисковые накопители, и он отлично работает на моем локальном хосте.

Обратите внимание, что я впервые работаю с ActiveX. Заранее спасибо!

1 Ответ

0 голосов
/ 07 ноября 2011

Убедитесь, что вы установили элемент управления ActiveX на целевой машине. Я использую RegDllView, чтобы проверить это. Эта утилита бесплатная, и вы можете найти ее здесь: http://www.nirsoft.net/ (попробуйте использовать x86 и x64, это зависит от вашего контроля). Удачи! :) Как говорит джеффамафон - «... это болезненный, плохо документированный мир, в который вы попали ...» это правда :) 1003 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...