Доступ к элементам управления ActiveX с помощью C # ASP.NET - PullRequest
0 голосов
/ 12 июля 2011

Может кто-нибудь сказать мне, как получить компонент ActiveX с тегом OBJECT?

В моем ASP-файле я получил элемент управления ActiveX со следующим кодом:

<OBJECT classid="clsid:A919AF5F-637C-423E-835A-B56448C1AD9B">
</OBJECT>

Результатявляется то, что всплывающее окно элемента управления Activex на веб-странице .. пока все хорошо.

Проблема в том, что этот фрагмент кода всегда ищет элемент управления ActiveX на клиентском компьютере, я хочу получить элемент управления ActiveX, чтобы получитьс сервера (конечно)

В документации к тегу OBJECT я увидел, что есть атрибут RUNAT = Server, который должен быть включен для получения объекта с сервера, поэтому я попытался сследующий код для извлечения ActiveX с сервера вместо клиентского компьютера

 <OBJECT RUNAT=Server id=whatevername
    classid="clsid:A919AF5F-637C-423E-835A-B56448C1AD9B">
    </OBJECT>

... но, когда мне это нравится, элемент управления ActiveX не отображается.Кто-то может понять почему ??Обязательно ли создавать экземпляр «что угодно» перед тем, как я использую его в теге OBJECT, или этот идентификатор может быть установлен на любое значение?.... Я только хочу, чтобы ActiveX отображался в браузере клиентов, ЧТО не так ??

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

ActiveX - это только клиентская технология.Он предназначен для создания экземпляров COM-объектов, зарегистрированных на клиентском компьютере, в браузере.

Поэтому необходимо задать вопрос: «Как установить / зарегистрировать мой COM-объект на клиентском ПК».

По сути, вам нужно будет добавить атрибут codebase к вашему тегу object, указав URL-адрес вашего (правильно упакованного) объекта ActiveX.Например:

<object 
    classid="clsid:<guid>" 
    codebase="http://mydomain.com/path/to/mycabfile.cab">
</object>

Объект ActiveX обычно упаковывается в CAB-файл и, если он был записан в .NET, его необходимо будет упаковать в MSI внутри CAB-файла.

Для получения информации о развертывании компонента .NET ActiveX с веб-сервера, см. Мой ответ здесь .

Для получения информации о развертывании компонента, отличного от .NET, просто выполните поиск в Google -это гораздо проще, чем способ .NET!

Наконец, если вы находитесь в среде интрасети, не забудьте рассмотреть возможность использования групповой политики Active Directory или аналогичной технологии (например, SMS * 1019).*) для развертывания компонента ActiveX - это может быть намного проще.

0 голосов
/ 19 марта 2016

ActiveX впервые появился как стандарт на стороне клиента в 1995 году, но спустя 4 года стал стандартом для wbe-приложений на стороне сервера. Все классические веб-приложения ASP systems/PHP/ColdFusion/Perl в Windows были построены с неинтерактивными компонентами на стороне сервера ActiveX, позволяющими повысить производительность интерпретируемого кода веб-приложения на основе VBScript, а также доступ ко всем видам API и распределенным функциям COM на стороне сервера.

COM + добавлена ​​возможность эффективного запуска этих компонентов, например, возможность объединения COM + applications/COM objects/threads.

ActiveX - это упрощенная версия OLE с двумя обязательными облегченными интерфейсами, которые должны быть реализованы COM-компонентом в качестве ActiveX (по сравнению с многочисленными интерфейсами, необходимыми для OLE): IUnknown (перечислены доступные свойства / методы, предоставляемые компонентом ActiveX) и IDispatch за позднее связывание методов и функций.

Поддержка на стороне сервера ActiveX позволила упростить общий стиль программирования веб-приложений на основе типов без необходимости заботиться об объявлении типов. Это поддержало рост популярности стиля программирования XP и Agile SDLC в целом.

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